[{"data":1,"prerenderedAt":498},["ShallowReactive",2],{"FX6I1EtEzV":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":497,"_id":4},"VkRayTracingPipelineInterfaceCreateInfoKHR","Structure specifying additional interface information when using libraries","VK_KHR_ray_tracing_pipeline","structs",[],{"type":10,"children":11,"toc":495},"root",[12,28,268,334,383,399,439,489],{"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\nas:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,131],{"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 VkRayTracingPipelineInterfaceCreateInfoKHR {\n VkStructureType sType;\n const void* pNext;\n uint32_t maxPipelineRayPayloadSize;\n uint32_t maxPipelineRayHitAttributeSize;\n} VkRayTracingPipelineInterfaceCreateInfoKHR;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,95,109,122],{"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}," VkRayTracingPipelineInterfaceCreateInfoKHR {\n",{"type":13,"tag":45,"props":68,"children":70},{"class":47,"line":69},2,[71],{"type":13,"tag":45,"props":72,"children":73},{"style":63},[74],{"type":18,"value":75}," VkStructureType sType;\n",{"type":13,"tag":45,"props":77,"children":79},{"class":47,"line":78},3,[80,85,90],{"type":13,"tag":45,"props":81,"children":82},{"style":52},[83],{"type":18,"value":84}," const",{"type":13,"tag":45,"props":86,"children":87},{"style":52},[88],{"type":18,"value":89}," void*",{"type":13,"tag":45,"props":91,"children":92},{"style":63},[93],{"type":18,"value":94}," pNext;\n",{"type":13,"tag":45,"props":96,"children":98},{"class":47,"line":97},4,[99,104],{"type":13,"tag":45,"props":100,"children":101},{"style":52},[102],{"type":18,"value":103}," uint32_t",{"type":13,"tag":45,"props":105,"children":106},{"style":63},[107],{"type":18,"value":108}," maxPipelineRayPayloadSize;\n",{"type":13,"tag":45,"props":110,"children":112},{"class":47,"line":111},5,[113,117],{"type":13,"tag":45,"props":114,"children":115},{"style":52},[116],{"type":18,"value":103},{"type":13,"tag":45,"props":118,"children":119},{"style":63},[120],{"type":18,"value":121}," maxPipelineRayHitAttributeSize;\n",{"type":13,"tag":45,"props":123,"children":125},{"class":47,"line":124},6,[126],{"type":13,"tag":45,"props":127,"children":128},{"style":63},[129],{"type":18,"value":130},"} VkRayTracingPipelineInterfaceCreateInfoKHR;\n",{"type":13,"tag":33,"props":132,"children":137},{"className":133,"code":134,"filename":135,"language":136,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct RayTracingPipelineInterfaceCreateInfoKHR {\n s_type: vk::StructureType,\n p_next: *const c_void,\n max_pipeline_ray_payload_size: u32,\n max_pipeline_ray_hit_attribute_size: u32,\n}\n","Rust","rs",[138],{"type":13,"tag":21,"props":139,"children":140},{"__ignoreMap":39},[141,164,197,219,240,260],{"type":13,"tag":45,"props":142,"children":143},{"class":47,"line":48},[144,149,153,159],{"type":13,"tag":45,"props":145,"children":146},{"style":52},[147],{"type":18,"value":148},"pub",{"type":13,"tag":45,"props":150,"children":151},{"style":52},[152],{"type":18,"value":60},{"type":13,"tag":45,"props":154,"children":156},{"style":155},"--shiki-default:#953800;--shiki-dark:#FFA657",[157],{"type":18,"value":158}," RayTracingPipelineInterfaceCreateInfoKHR",{"type":13,"tag":45,"props":160,"children":161},{"style":63},[162],{"type":18,"value":163}," {\n",{"type":13,"tag":45,"props":165,"children":166},{"class":47,"line":69},[167,172,177,182,187,192],{"type":13,"tag":45,"props":168,"children":169},{"style":63},[170],{"type":18,"value":171}," s_type",{"type":13,"tag":45,"props":173,"children":174},{"style":52},[175],{"type":18,"value":176},":",{"type":13,"tag":45,"props":178,"children":179},{"style":155},[180],{"type":18,"value":181}," vk",{"type":13,"tag":45,"props":183,"children":184},{"style":52},[185],{"type":18,"value":186},"::",{"type":13,"tag":45,"props":188,"children":189},{"style":155},[190],{"type":18,"value":191},"StructureType",{"type":13,"tag":45,"props":193,"children":194},{"style":63},[195],{"type":18,"value":196},",\n",{"type":13,"tag":45,"props":198,"children":199},{"class":47,"line":78},[200,205,209,214],{"type":13,"tag":45,"props":201,"children":202},{"style":63},[203],{"type":18,"value":204}," p_next",{"type":13,"tag":45,"props":206,"children":207},{"style":52},[208],{"type":18,"value":176},{"type":13,"tag":45,"props":210,"children":211},{"style":52},[212],{"type":18,"value":213}," *const",{"type":13,"tag":45,"props":215,"children":216},{"style":63},[217],{"type":18,"value":218}," c_void,\n",{"type":13,"tag":45,"props":220,"children":221},{"class":47,"line":97},[222,227,231,236],{"type":13,"tag":45,"props":223,"children":224},{"style":63},[225],{"type":18,"value":226}," max_pipeline_ray_payload_size",{"type":13,"tag":45,"props":228,"children":229},{"style":52},[230],{"type":18,"value":176},{"type":13,"tag":45,"props":232,"children":233},{"style":155},[234],{"type":18,"value":235}," u32",{"type":13,"tag":45,"props":237,"children":238},{"style":63},[239],{"type":18,"value":196},{"type":13,"tag":45,"props":241,"children":242},{"class":47,"line":111},[243,248,252,256],{"type":13,"tag":45,"props":244,"children":245},{"style":63},[246],{"type":18,"value":247}," max_pipeline_ray_hit_attribute_size",{"type":13,"tag":45,"props":249,"children":250},{"style":52},[251],{"type":18,"value":176},{"type":13,"tag":45,"props":253,"children":254},{"style":155},[255],{"type":18,"value":235},{"type":13,"tag":45,"props":257,"children":258},{"style":63},[259],{"type":18,"value":196},{"type":13,"tag":45,"props":261,"children":262},{"class":47,"line":124},[263],{"type":13,"tag":45,"props":264,"children":265},{"style":63},[266],{"type":18,"value":267},"}\n",{"type":13,"tag":269,"props":270,"children":271},"ul",{},[272,293,312,323],{"type":13,"tag":273,"props":274,"children":275},"li",{},[276,282,284,291],{"type":13,"tag":21,"props":277,"children":279},{"className":278},[],[280],{"type":18,"value":281},"sType",{"type":18,"value":283}," is a ",{"type":13,"tag":285,"props":286,"children":288},"a",{"href":287},"/man/VkStructureType",[289],{"type":18,"value":290},"VkStructureType",{"type":18,"value":292}," value identifying this structure.",{"type":13,"tag":273,"props":294,"children":295},{},[296,302,304,310],{"type":13,"tag":21,"props":297,"children":299},{"className":298},[],[300],{"type":18,"value":301},"pNext",{"type":18,"value":303}," is ",{"type":13,"tag":21,"props":305,"children":307},{"className":306},[],[308],{"type":18,"value":309},"NULL",{"type":18,"value":311}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":273,"props":313,"children":314},{},[315,321],{"type":13,"tag":21,"props":316,"children":318},{"className":317},[],[319],{"type":18,"value":320},"maxPipelineRayPayloadSize",{"type":18,"value":322}," is the maximum payload size in bytes\nused by any shader in the pipeline.",{"type":13,"tag":273,"props":324,"children":325},{},[326,332],{"type":13,"tag":21,"props":327,"children":329},{"className":328},[],[330],{"type":18,"value":331},"maxPipelineRayHitAttributeSize",{"type":18,"value":333}," is the maximum attribute structure\nsize in bytes used by any shader in the pipeline.",{"type":13,"tag":14,"props":335,"children":336},{},[337,342,344,350,352,358,360,365,367,373,375,381],{"type":13,"tag":21,"props":338,"children":340},{"className":339},[],[341],{"type":18,"value":320},{"type":18,"value":343}," is calculated as the maximum number of bytes\nused by any block declared in the ",{"type":13,"tag":21,"props":345,"children":347},{"className":346},[],[348],{"type":18,"value":349},"RayPayloadKHR",{"type":18,"value":351}," or\n",{"type":13,"tag":21,"props":353,"children":355},{"className":354},[],[356],{"type":18,"value":357},"IncomingRayPayloadKHR",{"type":18,"value":359}," storage classes.\n",{"type":13,"tag":21,"props":361,"children":363},{"className":362},[],[364],{"type":18,"value":331},{"type":18,"value":366}," is calculated as the maximum number of\nbytes used by any block declared in the ",{"type":13,"tag":21,"props":368,"children":370},{"className":369},[],[371],{"type":18,"value":372},"HitAttributeKHR",{"type":18,"value":374}," storage class.\nAs variables in these storage classes do not have explicit offsets, the size\nshould be calculated as if each variable has a\n",{"type":13,"tag":285,"props":376,"children":378},{"href":377},"/chapters/interfaces#interfaces-alignment-requirements",[379],{"type":18,"value":380},"scalar alignment",{"type":18,"value":382}," equal to the largest\nscalar alignment of any of the block’s members.",{"type":13,"tag":384,"props":385,"children":386},"note",{},[387],{"type":13,"tag":14,"props":388,"children":389},{},[390,392,397],{"type":18,"value":391},"There is no explicit upper limit for ",{"type":13,"tag":21,"props":393,"children":395},{"className":394},[],[396],{"type":18,"value":320},{"type":18,"value":398},", but in\npractice it should be kept as small as possible.\nSimilar to invocation local memory, it must be allocated for each shader\ninvocation and for devices which support many simultaneous invocations, this\nstorage can rapidly be exhausted, resulting in failure.",{"type":13,"tag":400,"props":401,"children":403},"validity-group",{"name":402},"Valid Usage",[404],{"type":13,"tag":405,"props":406,"children":408},"validity-field",{"name":407},"VUID-VkRayTracingPipelineInterfaceCreateInfoKHR-maxPipelineRayHitAttributeSize-03605",[409],{"type":13,"tag":14,"props":410,"children":411},{},[412,417,419,424,426,432,433],{"type":13,"tag":21,"props":413,"children":415},{"className":414},[],[416],{"type":18,"value":331},{"type":18,"value":418}," ",{"type":13,"tag":420,"props":421,"children":423},"normative",{"type":422},"must",[],{"type":18,"value":425}," be less than or equal to\n",{"type":13,"tag":285,"props":427,"children":429},{"href":428},"/man/VkPhysicalDeviceRayTracingPipelinePropertiesKHR",[430],{"type":18,"value":431},"VkPhysicalDeviceRayTracingPipelinePropertiesKHR",{"type":18,"value":186},{"type":13,"tag":21,"props":434,"children":436},{"className":435},[],[437],{"type":18,"value":438},"maxRayHitAttributeSize",{"type":13,"tag":400,"props":440,"children":442},{"name":441},"Valid Usage (Implicit)",[443,467],{"type":13,"tag":405,"props":444,"children":446},{"name":445},"VUID-VkRayTracingPipelineInterfaceCreateInfoKHR-sType-sType",[447],{"type":13,"tag":14,"props":448,"children":449},{},[450,455,456,459,461],{"type":13,"tag":21,"props":451,"children":453},{"className":452},[],[454],{"type":18,"value":281},{"type":18,"value":418},{"type":13,"tag":420,"props":457,"children":458},{"type":422},[],{"type":18,"value":460}," be ",{"type":13,"tag":21,"props":462,"children":464},{"className":463},[],[465],{"type":18,"value":466},"VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR",{"type":13,"tag":405,"props":468,"children":470},{"name":469},"VUID-VkRayTracingPipelineInterfaceCreateInfoKHR-pNext-pNext",[471],{"type":13,"tag":14,"props":472,"children":473},{},[474,479,480,483,484],{"type":13,"tag":21,"props":475,"children":477},{"className":476},[],[478],{"type":18,"value":301},{"type":18,"value":418},{"type":13,"tag":420,"props":481,"children":482},{"type":422},[],{"type":18,"value":460},{"type":13,"tag":21,"props":485,"children":487},{"className":486},[],[488],{"type":18,"value":309},{"type":13,"tag":490,"props":491,"children":492},"style",{},[493],{"type":18,"value":494},"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":496},[],"markdown",1729612476421]