[{"data":1,"prerenderedAt":464},["ShallowReactive",2],{"sySEKo168Q":3},{"title":4,"description":5,"parent":6,"cmd_buf_level":7,"render_pass_scope":10,"supported_queue_types":11,"tasks":13,"type":15,"xrefs":16,"body":17,"_type":463,"_id":4},"vkCmdSetRayTracingPipelineStackSizeKHR","Set the stack size dynamically for a ray tracing pipeline","VK_KHR_ray_tracing_pipeline",[8,9],"primary","secondary","outside",[12],"compute",[14],"state","protos",[],{"type":18,"children":19,"toc":461},"root",[20,37,210,236,272,299,409,455],{"type":21,"tag":22,"props":23,"children":24},"element","p",{},[25,28,35],{"type":26,"value":27},"text","To ",{"type":21,"tag":29,"props":30,"children":32},"a",{"href":31},"/chapters/pipelines#pipelines-dynamic-state",[33],{"type":26,"value":34},"dynamically set",{"type":26,"value":36}," the stack size for a ray\ntracing pipeline, call:",{"type":21,"tag":38,"props":39,"children":40},"code-group",{},[41,117],{"type":21,"tag":42,"props":43,"children":49},"pre",{"className":44,"code":45,"filename":46,"language":47,"meta":48,"style":48},"language-c shiki shiki-themes github-light-default github-dark-default","void vkCmdSetRayTracingPipelineStackSizeKHR(\n VkCommandBuffer commandBuffer,\n uint32_t pipelineStackSize);\n","C","c","",[50],{"type":21,"tag":51,"props":52,"children":53},"code",{"__ignoreMap":48},[54,78,98],{"type":21,"tag":55,"props":56,"children":59},"span",{"class":57,"line":58},"line",1,[60,66,72],{"type":21,"tag":55,"props":61,"children":63},{"style":62},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[64],{"type":26,"value":65},"void",{"type":21,"tag":55,"props":67,"children":69},{"style":68},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[70],{"type":26,"value":71}," vkCmdSetRayTracingPipelineStackSizeKHR",{"type":21,"tag":55,"props":73,"children":75},{"style":74},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[76],{"type":26,"value":77},"(\n",{"type":21,"tag":55,"props":79,"children":81},{"class":57,"line":80},2,[82,87,93],{"type":21,"tag":55,"props":83,"children":84},{"style":74},[85],{"type":26,"value":86}," VkCommandBuffer ",{"type":21,"tag":55,"props":88,"children":90},{"style":89},"--shiki-default:#953800;--shiki-dark:#FFA657",[91],{"type":26,"value":92},"commandBuffer",{"type":21,"tag":55,"props":94,"children":95},{"style":74},[96],{"type":26,"value":97},",\n",{"type":21,"tag":55,"props":99,"children":101},{"class":57,"line":100},3,[102,107,112],{"type":21,"tag":55,"props":103,"children":104},{"style":62},[105],{"type":26,"value":106}," uint32_t",{"type":21,"tag":55,"props":108,"children":109},{"style":89},[110],{"type":26,"value":111}," pipelineStackSize",{"type":21,"tag":55,"props":113,"children":114},{"style":74},[115],{"type":26,"value":116},");\n",{"type":21,"tag":42,"props":118,"children":123},{"className":119,"code":120,"filename":121,"language":122,"meta":48,"style":48},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_set_ray_tracing_pipeline_stack_size_khr(\n command_buffer: vk::CommandBuffer,\n pipeline_stack_size: u32,\n);\n","Rust","rs",[124],{"type":21,"tag":51,"props":125,"children":126},{"__ignoreMap":48},[127,149,181,202],{"type":21,"tag":55,"props":128,"children":129},{"class":57,"line":58},[130,135,140,145],{"type":21,"tag":55,"props":131,"children":132},{"style":62},[133],{"type":26,"value":134},"pub",{"type":21,"tag":55,"props":136,"children":137},{"style":62},[138],{"type":26,"value":139}," fn",{"type":21,"tag":55,"props":141,"children":142},{"style":68},[143],{"type":26,"value":144}," cmd_set_ray_tracing_pipeline_stack_size_khr",{"type":21,"tag":55,"props":146,"children":147},{"style":74},[148],{"type":26,"value":77},{"type":21,"tag":55,"props":150,"children":151},{"class":57,"line":80},[152,157,162,167,172,177],{"type":21,"tag":55,"props":153,"children":154},{"style":74},[155],{"type":26,"value":156}," command_buffer",{"type":21,"tag":55,"props":158,"children":159},{"style":62},[160],{"type":26,"value":161},":",{"type":21,"tag":55,"props":163,"children":164},{"style":89},[165],{"type":26,"value":166}," vk",{"type":21,"tag":55,"props":168,"children":169},{"style":62},[170],{"type":26,"value":171},"::",{"type":21,"tag":55,"props":173,"children":174},{"style":89},[175],{"type":26,"value":176},"CommandBuffer",{"type":21,"tag":55,"props":178,"children":179},{"style":74},[180],{"type":26,"value":97},{"type":21,"tag":55,"props":182,"children":183},{"class":57,"line":100},[184,189,193,198],{"type":21,"tag":55,"props":185,"children":186},{"style":74},[187],{"type":26,"value":188}," pipeline_stack_size",{"type":21,"tag":55,"props":190,"children":191},{"style":62},[192],{"type":26,"value":161},{"type":21,"tag":55,"props":194,"children":195},{"style":89},[196],{"type":26,"value":197}," u32",{"type":21,"tag":55,"props":199,"children":200},{"style":74},[201],{"type":26,"value":97},{"type":21,"tag":55,"props":203,"children":205},{"class":57,"line":204},4,[206],{"type":21,"tag":55,"props":207,"children":208},{"style":74},[209],{"type":26,"value":116},{"type":21,"tag":211,"props":212,"children":213},"ul",{},[214,225],{"type":21,"tag":215,"props":216,"children":217},"li",{},[218,223],{"type":21,"tag":51,"props":219,"children":221},{"className":220},[],[222],{"type":26,"value":92},{"type":26,"value":224}," is the command buffer into which the command will be\nrecorded.",{"type":21,"tag":215,"props":226,"children":227},{},[228,234],{"type":21,"tag":51,"props":229,"children":231},{"className":230},[],[232],{"type":26,"value":233},"pipelineStackSize",{"type":26,"value":235}," is the stack size to use for subsequent ray\ntracing trace commands.",{"type":21,"tag":22,"props":237,"children":238},{},[239,241,247,249,255,256,262,264,270],{"type":26,"value":240},"This command sets the stack size for subsequent ray tracing commands when\nthe ray tracing pipeline is created with\n",{"type":21,"tag":51,"props":242,"children":244},{"className":243},[],[245],{"type":26,"value":246},"VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR",{"type":26,"value":248}," set in\n",{"type":21,"tag":29,"props":250,"children":252},{"href":251},"/man/VkPipelineDynamicStateCreateInfo",[253],{"type":26,"value":254},"VkPipelineDynamicStateCreateInfo",{"type":26,"value":171},{"type":21,"tag":51,"props":257,"children":259},{"className":258},[],[260],{"type":26,"value":261},"pDynamicStates",{"type":26,"value":263},".\nOtherwise, the stack size is computed as described in\n",{"type":21,"tag":29,"props":265,"children":267},{"href":266},"/chapters/ray-tracing#ray-tracing-pipeline-stack",[268],{"type":26,"value":269},"Ray Tracing Pipeline Stack",{"type":26,"value":271},".",{"type":21,"tag":273,"props":274,"children":276},"validity-group",{"name":275},"Valid Usage",[277],{"type":21,"tag":278,"props":279,"children":281},"validity-field",{"name":280},"VUID-vkCmdSetRayTracingPipelineStackSizeKHR-pipelineStackSize-03610",[282],{"type":21,"tag":22,"props":283,"children":284},{},[285,290,292,297],{"type":21,"tag":51,"props":286,"children":288},{"className":287},[],[289],{"type":26,"value":233},{"type":26,"value":291}," ",{"type":21,"tag":293,"props":294,"children":296},"normative",{"type":295},"must",[],{"type":26,"value":298}," be large enough for any dynamic execution\nthrough the shaders in the ray tracing pipeline used by a subsequent\ntrace call",{"type":21,"tag":273,"props":300,"children":302},{"name":301},"Valid Usage (Implicit)",[303,329,353,382,396],{"type":21,"tag":278,"props":304,"children":306},{"name":305},"VUID-vkCmdSetRayTracingPipelineStackSizeKHR-commandBuffer-parameter",[307],{"type":21,"tag":22,"props":308,"children":309},{},[310,315,316,319,321,327],{"type":21,"tag":51,"props":311,"children":313},{"className":312},[],[314],{"type":26,"value":92},{"type":26,"value":291},{"type":21,"tag":293,"props":317,"children":318},{"type":295},[],{"type":26,"value":320}," be a valid ",{"type":21,"tag":29,"props":322,"children":324},{"href":323},"/man/VkCommandBuffer",[325],{"type":26,"value":326},"VkCommandBuffer",{"type":26,"value":328}," handle",{"type":21,"tag":278,"props":330,"children":332},{"name":331},"VUID-vkCmdSetRayTracingPipelineStackSizeKHR-commandBuffer-recording",[333],{"type":21,"tag":22,"props":334,"children":335},{},[336,341,342,345,347],{"type":21,"tag":51,"props":337,"children":339},{"className":338},[],[340],{"type":26,"value":92},{"type":26,"value":291},{"type":21,"tag":293,"props":343,"children":344},{"type":295},[],{"type":26,"value":346}," be in the ",{"type":21,"tag":29,"props":348,"children":350},{"href":349},"/chapters/commandbuffers#commandbuffers-lifecycle",[351],{"type":26,"value":352},"recording state",{"type":21,"tag":278,"props":354,"children":356},{"name":355},"VUID-vkCmdSetRayTracingPipelineStackSizeKHR-commandBuffer-cmdpool",[357],{"type":21,"tag":22,"props":358,"children":359},{},[360,362,368,370,375,377,380],{"type":26,"value":361},"The ",{"type":21,"tag":51,"props":363,"children":365},{"className":364},[],[366],{"type":26,"value":367},"VkCommandPool",{"type":26,"value":369}," that ",{"type":21,"tag":51,"props":371,"children":373},{"className":372},[],[374],{"type":26,"value":92},{"type":26,"value":376}," was allocated from ",{"type":21,"tag":293,"props":378,"children":379},{"type":295},[],{"type":26,"value":381}," support compute operations",{"type":21,"tag":278,"props":383,"children":385},{"name":384},"VUID-vkCmdSetRayTracingPipelineStackSizeKHR-renderpass",[386],{"type":21,"tag":22,"props":387,"children":388},{},[389,391,394],{"type":26,"value":390},"This command ",{"type":21,"tag":293,"props":392,"children":393},{"type":295},[],{"type":26,"value":395}," only be called outside of a render pass instance",{"type":21,"tag":278,"props":397,"children":399},{"name":398},"VUID-vkCmdSetRayTracingPipelineStackSizeKHR-videocoding",[400],{"type":21,"tag":22,"props":401,"children":402},{},[403,404,407],{"type":26,"value":390},{"type":21,"tag":293,"props":405,"children":406},{"type":295},[],{"type":26,"value":408}," only be called outside of a video coding scope",{"type":21,"tag":410,"props":411,"children":413},"validity-box",{"name":412},"Host Synchronization",[414],{"type":21,"tag":211,"props":415,"children":416},{},[417,433],{"type":21,"tag":215,"props":418,"children":419},{},[420,422,427,428,431],{"type":26,"value":421},"Host access to ",{"type":21,"tag":51,"props":423,"children":425},{"className":424},[],[426],{"type":26,"value":92},{"type":26,"value":291},{"type":21,"tag":293,"props":429,"children":430},{"type":295},[],{"type":26,"value":432}," be externally synchronized",{"type":21,"tag":215,"props":434,"children":435},{},[436,438,443,444,449,450,453],{"type":26,"value":437},"Host access to the ",{"type":21,"tag":51,"props":439,"children":441},{"className":440},[],[442],{"type":26,"value":367},{"type":26,"value":369},{"type":21,"tag":51,"props":445,"children":447},{"className":446},[],[448],{"type":26,"value":92},{"type":26,"value":376},{"type":21,"tag":293,"props":451,"children":452},{"type":295},[],{"type":26,"value":454}," be externally synchronized\n::",{"type":21,"tag":456,"props":457,"children":458},"style",{},[459],{"type":26,"value":460},"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":48,"searchDepth":80,"depth":80,"links":462},[],"markdown",1729612506123]