[{"data":1,"prerenderedAt":729},["ShallowReactive",2],{"r2C5KWBWAC":3},{"title":4,"description":5,"parent":6,"cmd_buf_level":7,"render_pass_scope":10,"supported_queue_types":11,"tasks":14,"type":16,"xrefs":17,"body":18,"_type":728,"_id":4},"vkCmdBindPipelineShaderGroupNV","Bind a pipeline object's shader group to a command buffer","VK_NV_device_generated_commands",[8,9],"primary","secondary","both",[12,13],"graphics","compute",[15],"state","protos",[],{"type":19,"children":20,"toc":726},"root",[21,55,321,375,498,674,720],{"type":22,"tag":23,"props":24,"children":25},"element","p",{},[26,29,36,38,45,47,53],{"type":27,"value":28},"text","For pipelines that were created with the support of multiple shader groups\n(see ",{"type":22,"tag":30,"props":31,"children":33},"a",{"href":32},"/chapters/pipelines#graphics-shadergroups",[34],{"type":27,"value":35},"Graphics Pipeline Shader Groups",{"type":27,"value":37},"), the regular\n",{"type":22,"tag":39,"props":40,"children":42},"code",{"className":41},[],[43],{"type":27,"value":44},"vkCmdBindPipeline",{"type":27,"value":46}," command will bind Shader Group ",{"type":22,"tag":39,"props":48,"children":50},{"className":49},[],[51],{"type":27,"value":52},"0",{"type":27,"value":54},".\nTo explicitly bind a shader group use:",{"type":22,"tag":56,"props":57,"children":58},"code-group",{},[59,170],{"type":22,"tag":60,"props":61,"children":67},"pre",{"className":62,"code":63,"filename":64,"language":65,"meta":66,"style":66},"language-c shiki shiki-themes github-light-default github-dark-default","void vkCmdBindPipelineShaderGroupNV(\n VkCommandBuffer commandBuffer,\n VkPipelineBindPoint pipelineBindPoint,\n VkPipeline pipeline,\n uint32_t groupIndex);\n","C","c","",[68],{"type":22,"tag":39,"props":69,"children":70},{"__ignoreMap":66},[71,95,115,133,151],{"type":22,"tag":72,"props":73,"children":76},"span",{"class":74,"line":75},"line",1,[77,83,89],{"type":22,"tag":72,"props":78,"children":80},{"style":79},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[81],{"type":27,"value":82},"void",{"type":22,"tag":72,"props":84,"children":86},{"style":85},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[87],{"type":27,"value":88}," vkCmdBindPipelineShaderGroupNV",{"type":22,"tag":72,"props":90,"children":92},{"style":91},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[93],{"type":27,"value":94},"(\n",{"type":22,"tag":72,"props":96,"children":98},{"class":74,"line":97},2,[99,104,110],{"type":22,"tag":72,"props":100,"children":101},{"style":91},[102],{"type":27,"value":103}," VkCommandBuffer ",{"type":22,"tag":72,"props":105,"children":107},{"style":106},"--shiki-default:#953800;--shiki-dark:#FFA657",[108],{"type":27,"value":109},"commandBuffer",{"type":22,"tag":72,"props":111,"children":112},{"style":91},[113],{"type":27,"value":114},",\n",{"type":22,"tag":72,"props":116,"children":118},{"class":74,"line":117},3,[119,124,129],{"type":22,"tag":72,"props":120,"children":121},{"style":91},[122],{"type":27,"value":123}," VkPipelineBindPoint ",{"type":22,"tag":72,"props":125,"children":126},{"style":106},[127],{"type":27,"value":128},"pipelineBindPoint",{"type":22,"tag":72,"props":130,"children":131},{"style":91},[132],{"type":27,"value":114},{"type":22,"tag":72,"props":134,"children":136},{"class":74,"line":135},4,[137,142,147],{"type":22,"tag":72,"props":138,"children":139},{"style":91},[140],{"type":27,"value":141}," VkPipeline ",{"type":22,"tag":72,"props":143,"children":144},{"style":106},[145],{"type":27,"value":146},"pipeline",{"type":22,"tag":72,"props":148,"children":149},{"style":91},[150],{"type":27,"value":114},{"type":22,"tag":72,"props":152,"children":154},{"class":74,"line":153},5,[155,160,165],{"type":22,"tag":72,"props":156,"children":157},{"style":79},[158],{"type":27,"value":159}," uint32_t",{"type":22,"tag":72,"props":161,"children":162},{"style":106},[163],{"type":27,"value":164}," groupIndex",{"type":22,"tag":72,"props":166,"children":167},{"style":91},[168],{"type":27,"value":169},");\n",{"type":22,"tag":60,"props":171,"children":176},{"className":172,"code":173,"filename":174,"language":175,"meta":66,"style":66},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_bind_pipeline_shader_group_nv(\n command_buffer: vk::CommandBuffer,\n pipeline_bind_point: vk::PipelineBindPoint,\n pipeline: vk::Pipeline,\n group_index: u32,\n);\n","Rust","rs",[177],{"type":22,"tag":39,"props":178,"children":179},{"__ignoreMap":66},[180,202,234,263,292,313],{"type":22,"tag":72,"props":181,"children":182},{"class":74,"line":75},[183,188,193,198],{"type":22,"tag":72,"props":184,"children":185},{"style":79},[186],{"type":27,"value":187},"pub",{"type":22,"tag":72,"props":189,"children":190},{"style":79},[191],{"type":27,"value":192}," fn",{"type":22,"tag":72,"props":194,"children":195},{"style":85},[196],{"type":27,"value":197}," cmd_bind_pipeline_shader_group_nv",{"type":22,"tag":72,"props":199,"children":200},{"style":91},[201],{"type":27,"value":94},{"type":22,"tag":72,"props":203,"children":204},{"class":74,"line":97},[205,210,215,220,225,230],{"type":22,"tag":72,"props":206,"children":207},{"style":91},[208],{"type":27,"value":209}," command_buffer",{"type":22,"tag":72,"props":211,"children":212},{"style":79},[213],{"type":27,"value":214},":",{"type":22,"tag":72,"props":216,"children":217},{"style":106},[218],{"type":27,"value":219}," vk",{"type":22,"tag":72,"props":221,"children":222},{"style":79},[223],{"type":27,"value":224},"::",{"type":22,"tag":72,"props":226,"children":227},{"style":106},[228],{"type":27,"value":229},"CommandBuffer",{"type":22,"tag":72,"props":231,"children":232},{"style":91},[233],{"type":27,"value":114},{"type":22,"tag":72,"props":235,"children":236},{"class":74,"line":117},[237,242,246,250,254,259],{"type":22,"tag":72,"props":238,"children":239},{"style":91},[240],{"type":27,"value":241}," pipeline_bind_point",{"type":22,"tag":72,"props":243,"children":244},{"style":79},[245],{"type":27,"value":214},{"type":22,"tag":72,"props":247,"children":248},{"style":106},[249],{"type":27,"value":219},{"type":22,"tag":72,"props":251,"children":252},{"style":79},[253],{"type":27,"value":224},{"type":22,"tag":72,"props":255,"children":256},{"style":106},[257],{"type":27,"value":258},"PipelineBindPoint",{"type":22,"tag":72,"props":260,"children":261},{"style":91},[262],{"type":27,"value":114},{"type":22,"tag":72,"props":264,"children":265},{"class":74,"line":135},[266,271,275,279,283,288],{"type":22,"tag":72,"props":267,"children":268},{"style":91},[269],{"type":27,"value":270}," pipeline",{"type":22,"tag":72,"props":272,"children":273},{"style":79},[274],{"type":27,"value":214},{"type":22,"tag":72,"props":276,"children":277},{"style":106},[278],{"type":27,"value":219},{"type":22,"tag":72,"props":280,"children":281},{"style":79},[282],{"type":27,"value":224},{"type":22,"tag":72,"props":284,"children":285},{"style":106},[286],{"type":27,"value":287},"Pipeline",{"type":22,"tag":72,"props":289,"children":290},{"style":91},[291],{"type":27,"value":114},{"type":22,"tag":72,"props":293,"children":294},{"class":74,"line":153},[295,300,304,309],{"type":22,"tag":72,"props":296,"children":297},{"style":91},[298],{"type":27,"value":299}," group_index",{"type":22,"tag":72,"props":301,"children":302},{"style":79},[303],{"type":27,"value":214},{"type":22,"tag":72,"props":305,"children":306},{"style":106},[307],{"type":27,"value":308}," u32",{"type":22,"tag":72,"props":310,"children":311},{"style":91},[312],{"type":27,"value":114},{"type":22,"tag":72,"props":314,"children":316},{"class":74,"line":315},6,[317],{"type":22,"tag":72,"props":318,"children":319},{"style":91},[320],{"type":27,"value":169},{"type":22,"tag":322,"props":323,"children":324},"ul",{},[325,336,354,364],{"type":22,"tag":326,"props":327,"children":328},"li",{},[329,334],{"type":22,"tag":39,"props":330,"children":332},{"className":331},[],[333],{"type":27,"value":109},{"type":27,"value":335}," is the command buffer that the pipeline will be\nbound to.",{"type":22,"tag":326,"props":337,"children":338},{},[339,344,346,352],{"type":22,"tag":39,"props":340,"children":342},{"className":341},[],[343],{"type":27,"value":128},{"type":27,"value":345}," is a ",{"type":22,"tag":30,"props":347,"children":349},{"href":348},"/man/VkPipelineBindPoint",[350],{"type":27,"value":351},"VkPipelineBindPoint",{"type":27,"value":353}," value specifying\nthe bind point to which the pipeline will be bound.",{"type":22,"tag":326,"props":355,"children":356},{},[357,362],{"type":22,"tag":39,"props":358,"children":360},{"className":359},[],[361],{"type":27,"value":146},{"type":27,"value":363}," is the pipeline to be bound.",{"type":22,"tag":326,"props":365,"children":366},{},[367,373],{"type":22,"tag":39,"props":368,"children":370},{"className":369},[],[371],{"type":27,"value":372},"groupIndex",{"type":27,"value":374}," is the shader group to be bound.",{"type":22,"tag":376,"props":377,"children":379},"validity-group",{"name":378},"Valid Usage",[380,424,450,473],{"type":22,"tag":381,"props":382,"children":384},"validity-field",{"name":383},"VUID-vkCmdBindPipelineShaderGroupNV-groupIndex-02893",[385],{"type":22,"tag":23,"props":386,"children":387},{},[388,393,395,400,402,407,409,415,416,422],{"type":22,"tag":39,"props":389,"children":391},{"className":390},[],[392],{"type":27,"value":372},{"type":27,"value":394}," ",{"type":22,"tag":396,"props":397,"children":399},"normative",{"type":398},"must",[],{"type":27,"value":401}," be ",{"type":22,"tag":39,"props":403,"children":405},{"className":404},[],[406],{"type":27,"value":52},{"type":27,"value":408}," or less than the effective\n",{"type":22,"tag":30,"props":410,"children":412},{"href":411},"/man/VkGraphicsPipelineShaderGroupsCreateInfoNV",[413],{"type":27,"value":414},"VkGraphicsPipelineShaderGroupsCreateInfoNV",{"type":27,"value":224},{"type":22,"tag":39,"props":417,"children":419},{"className":418},[],[420],{"type":27,"value":421},"groupCount",{"type":27,"value":423},"\nincluding the referenced pipelines",{"type":22,"tag":381,"props":425,"children":427},{"name":426},"VUID-vkCmdBindPipelineShaderGroupNV-pipelineBindPoint-02894",[428],{"type":22,"tag":23,"props":429,"children":430},{},[431,433,438,439,442,444],{"type":27,"value":432},"The ",{"type":22,"tag":39,"props":434,"children":436},{"className":435},[],[437],{"type":27,"value":128},{"type":27,"value":394},{"type":22,"tag":396,"props":440,"children":441},{"type":398},[],{"type":27,"value":443}," be\n",{"type":22,"tag":39,"props":445,"children":447},{"className":446},[],[448],{"type":27,"value":449},"VK_PIPELINE_BIND_POINT_GRAPHICS",{"type":22,"tag":381,"props":451,"children":453},{"name":452},"VUID-vkCmdBindPipelineShaderGroupNV-groupIndex-02895",[454],{"type":22,"tag":23,"props":455,"children":456},{},[457,459,464,466,471],{"type":27,"value":458},"The same restrictions as ",{"type":22,"tag":30,"props":460,"children":462},{"href":461},"/man/vkCmdBindPipeline",[463],{"type":27,"value":44},{"type":27,"value":465}," apply as if the bound\npipeline was created only with the Shader Group from the\n",{"type":22,"tag":39,"props":467,"children":469},{"className":468},[],[470],{"type":27,"value":372},{"type":27,"value":472}," information",{"type":22,"tag":381,"props":474,"children":476},{"name":475},"VUID-vkCmdBindPipelineShaderGroupNV-deviceGeneratedCommands-02896",[477],{"type":22,"tag":23,"props":478,"children":479},{},[480,481,491,493,496],{"type":27,"value":432},{"type":22,"tag":30,"props":482,"children":484},{"href":483},"/man/VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV#features-deviceGeneratedCommands",[485],{"type":22,"tag":39,"props":486,"children":488},{"className":487},[],[489],{"type":27,"value":490},"deviceGeneratedCommands",{"type":27,"value":492},"\nfeature ",{"type":22,"tag":396,"props":494,"children":495},{"type":398},[],{"type":27,"value":497}," be enabled",{"type":22,"tag":376,"props":499,"children":501},{"name":500},"Valid Usage (Implicit)",[502,528,551,575,599,627,641],{"type":22,"tag":381,"props":503,"children":505},{"name":504},"VUID-vkCmdBindPipelineShaderGroupNV-commandBuffer-parameter",[506],{"type":22,"tag":23,"props":507,"children":508},{},[509,514,515,518,520,526],{"type":22,"tag":39,"props":510,"children":512},{"className":511},[],[513],{"type":27,"value":109},{"type":27,"value":394},{"type":22,"tag":396,"props":516,"children":517},{"type":398},[],{"type":27,"value":519}," be a valid ",{"type":22,"tag":30,"props":521,"children":523},{"href":522},"/man/VkCommandBuffer",[524],{"type":27,"value":525},"VkCommandBuffer",{"type":27,"value":527}," handle",{"type":22,"tag":381,"props":529,"children":531},{"name":530},"VUID-vkCmdBindPipelineShaderGroupNV-pipelineBindPoint-parameter",[532],{"type":22,"tag":23,"props":533,"children":534},{},[535,540,541,544,545,549],{"type":22,"tag":39,"props":536,"children":538},{"className":537},[],[539],{"type":27,"value":128},{"type":27,"value":394},{"type":22,"tag":396,"props":542,"children":543},{"type":398},[],{"type":27,"value":519},{"type":22,"tag":30,"props":546,"children":547},{"href":348},[548],{"type":27,"value":351},{"type":27,"value":550}," value",{"type":22,"tag":381,"props":552,"children":554},{"name":553},"VUID-vkCmdBindPipelineShaderGroupNV-pipeline-parameter",[555],{"type":22,"tag":23,"props":556,"children":557},{},[558,563,564,567,568,574],{"type":22,"tag":39,"props":559,"children":561},{"className":560},[],[562],{"type":27,"value":146},{"type":27,"value":394},{"type":22,"tag":396,"props":565,"children":566},{"type":398},[],{"type":27,"value":519},{"type":22,"tag":30,"props":569,"children":571},{"href":570},"/man/VkPipeline",[572],{"type":27,"value":573},"VkPipeline",{"type":27,"value":527},{"type":22,"tag":381,"props":576,"children":578},{"name":577},"VUID-vkCmdBindPipelineShaderGroupNV-commandBuffer-recording",[579],{"type":22,"tag":23,"props":580,"children":581},{},[582,587,588,591,593],{"type":22,"tag":39,"props":583,"children":585},{"className":584},[],[586],{"type":27,"value":109},{"type":27,"value":394},{"type":22,"tag":396,"props":589,"children":590},{"type":398},[],{"type":27,"value":592}," be in the ",{"type":22,"tag":30,"props":594,"children":596},{"href":595},"/chapters/commandbuffers#commandbuffers-lifecycle",[597],{"type":27,"value":598},"recording state",{"type":22,"tag":381,"props":600,"children":602},{"name":601},"VUID-vkCmdBindPipelineShaderGroupNV-commandBuffer-cmdpool",[603],{"type":22,"tag":23,"props":604,"children":605},{},[606,607,613,615,620,622,625],{"type":27,"value":432},{"type":22,"tag":39,"props":608,"children":610},{"className":609},[],[611],{"type":27,"value":612},"VkCommandPool",{"type":27,"value":614}," that ",{"type":22,"tag":39,"props":616,"children":618},{"className":617},[],[619],{"type":27,"value":109},{"type":27,"value":621}," was allocated from ",{"type":22,"tag":396,"props":623,"children":624},{"type":398},[],{"type":27,"value":626}," support graphics, or compute operations",{"type":22,"tag":381,"props":628,"children":630},{"name":629},"VUID-vkCmdBindPipelineShaderGroupNV-videocoding",[631],{"type":22,"tag":23,"props":632,"children":633},{},[634,636,639],{"type":27,"value":635},"This command ",{"type":22,"tag":396,"props":637,"children":638},{"type":398},[],{"type":27,"value":640}," only be called outside of a video coding scope",{"type":22,"tag":381,"props":642,"children":644},{"name":643},"VUID-vkCmdBindPipelineShaderGroupNV-commonparent",[645],{"type":22,"tag":23,"props":646,"children":647},{},[648,650,655,657,662,663,666,668],{"type":27,"value":649},"Both of ",{"type":22,"tag":39,"props":651,"children":653},{"className":652},[],[654],{"type":27,"value":109},{"type":27,"value":656},", and ",{"type":22,"tag":39,"props":658,"children":660},{"className":659},[],[661],{"type":27,"value":146},{"type":27,"value":394},{"type":22,"tag":396,"props":664,"children":665},{"type":398},[],{"type":27,"value":667}," have been created, allocated, or retrieved from the same ",{"type":22,"tag":30,"props":669,"children":671},{"href":670},"/man/VkDevice",[672],{"type":27,"value":673},"VkDevice",{"type":22,"tag":675,"props":676,"children":678},"validity-box",{"name":677},"Host Synchronization",[679],{"type":22,"tag":322,"props":680,"children":681},{},[682,698],{"type":22,"tag":326,"props":683,"children":684},{},[685,687,692,693,696],{"type":27,"value":686},"Host access to ",{"type":22,"tag":39,"props":688,"children":690},{"className":689},[],[691],{"type":27,"value":109},{"type":27,"value":394},{"type":22,"tag":396,"props":694,"children":695},{"type":398},[],{"type":27,"value":697}," be externally synchronized",{"type":22,"tag":326,"props":699,"children":700},{},[701,703,708,709,714,715,718],{"type":27,"value":702},"Host access to the ",{"type":22,"tag":39,"props":704,"children":706},{"className":705},[],[707],{"type":27,"value":612},{"type":27,"value":614},{"type":22,"tag":39,"props":710,"children":712},{"className":711},[],[713],{"type":27,"value":109},{"type":27,"value":621},{"type":22,"tag":396,"props":716,"children":717},{"type":398},[],{"type":27,"value":719}," be externally synchronized\n::",{"type":22,"tag":721,"props":722,"children":723},"style",{},[724],{"type":27,"value":725},"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":66,"searchDepth":97,"depth":97,"links":727},[],"markdown",1725732597929]