[{"data":1,"prerenderedAt":614},["ShallowReactive",2],{"U1Ssy8hVEC":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":613,"_id":4},"VkPipelineShaderStageModuleIdentifierCreateInfoEXT","Structure specifying an identifier for a shader module","VK_EXT_shader_module_identifier","structs",[],{"type":10,"children":11,"toc":611},"root",[12,27,40,290,363,386,416,528,605],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,25],{"type":18,"value":19},"text","An identifier ",{"type":13,"tag":21,"props":22,"children":24},"normative",{"type":23},"can",[],{"type":18,"value":26}," be provided instead of shader code in an attempt to\ncompile pipelines without providing complete SPIR-V to the implementation.",{"type":13,"tag":14,"props":28,"children":29},{},[30,32,38],{"type":18,"value":31},"The ",{"type":13,"tag":33,"props":34,"children":36},"code",{"className":35},[],[37],{"type":18,"value":4},{"type":18,"value":39}," structure is\ndefined as:",{"type":13,"tag":41,"props":42,"children":43},"code-group",{},[44,148],{"type":13,"tag":45,"props":46,"children":52},"pre",{"className":47,"code":48,"filename":49,"language":50,"meta":51,"style":51},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT {\n VkStructureType sType;\n const void* pNext;\n uint32_t identifierSize;\n const uint8_t* pIdentifier;\n} VkPipelineShaderStageModuleIdentifierCreateInfoEXT;\n","C","c","",[53],{"type":13,"tag":33,"props":54,"children":55},{"__ignoreMap":51},[56,79,88,107,121,139],{"type":13,"tag":57,"props":58,"children":61},"span",{"class":59,"line":60},"line",1,[62,68,73],{"type":13,"tag":57,"props":63,"children":65},{"style":64},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[66],{"type":18,"value":67},"typedef",{"type":13,"tag":57,"props":69,"children":70},{"style":64},[71],{"type":18,"value":72}," struct",{"type":13,"tag":57,"props":74,"children":76},{"style":75},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[77],{"type":18,"value":78}," VkPipelineShaderStageModuleIdentifierCreateInfoEXT {\n",{"type":13,"tag":57,"props":80,"children":82},{"class":59,"line":81},2,[83],{"type":13,"tag":57,"props":84,"children":85},{"style":75},[86],{"type":18,"value":87}," VkStructureType sType;\n",{"type":13,"tag":57,"props":89,"children":91},{"class":59,"line":90},3,[92,97,102],{"type":13,"tag":57,"props":93,"children":94},{"style":64},[95],{"type":18,"value":96}," const",{"type":13,"tag":57,"props":98,"children":99},{"style":64},[100],{"type":18,"value":101}," void*",{"type":13,"tag":57,"props":103,"children":104},{"style":75},[105],{"type":18,"value":106}," pNext;\n",{"type":13,"tag":57,"props":108,"children":110},{"class":59,"line":109},4,[111,116],{"type":13,"tag":57,"props":112,"children":113},{"style":64},[114],{"type":18,"value":115}," uint32_t",{"type":13,"tag":57,"props":117,"children":118},{"style":75},[119],{"type":18,"value":120}," identifierSize;\n",{"type":13,"tag":57,"props":122,"children":124},{"class":59,"line":123},5,[125,129,134],{"type":13,"tag":57,"props":126,"children":127},{"style":64},[128],{"type":18,"value":96},{"type":13,"tag":57,"props":130,"children":131},{"style":64},[132],{"type":18,"value":133}," uint8_t*",{"type":13,"tag":57,"props":135,"children":136},{"style":75},[137],{"type":18,"value":138}," pIdentifier;\n",{"type":13,"tag":57,"props":140,"children":142},{"class":59,"line":141},6,[143],{"type":13,"tag":57,"props":144,"children":145},{"style":75},[146],{"type":18,"value":147},"} VkPipelineShaderStageModuleIdentifierCreateInfoEXT;\n",{"type":13,"tag":45,"props":149,"children":154},{"className":150,"code":151,"filename":152,"language":153,"meta":51,"style":51},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PipelineShaderStageModuleIdentifierCreateInfoEXT {\n s_type: vk::StructureType,\n p_next: *const c_void,\n identifier_size: u32,\n p_identifier: *const u8,\n}\n","Rust","rs",[155],{"type":13,"tag":33,"props":156,"children":157},{"__ignoreMap":51},[158,181,214,236,257,282],{"type":13,"tag":57,"props":159,"children":160},{"class":59,"line":60},[161,166,170,176],{"type":13,"tag":57,"props":162,"children":163},{"style":64},[164],{"type":18,"value":165},"pub",{"type":13,"tag":57,"props":167,"children":168},{"style":64},[169],{"type":18,"value":72},{"type":13,"tag":57,"props":171,"children":173},{"style":172},"--shiki-default:#953800;--shiki-dark:#FFA657",[174],{"type":18,"value":175}," PipelineShaderStageModuleIdentifierCreateInfoEXT",{"type":13,"tag":57,"props":177,"children":178},{"style":75},[179],{"type":18,"value":180}," {\n",{"type":13,"tag":57,"props":182,"children":183},{"class":59,"line":81},[184,189,194,199,204,209],{"type":13,"tag":57,"props":185,"children":186},{"style":75},[187],{"type":18,"value":188}," s_type",{"type":13,"tag":57,"props":190,"children":191},{"style":64},[192],{"type":18,"value":193},":",{"type":13,"tag":57,"props":195,"children":196},{"style":172},[197],{"type":18,"value":198}," vk",{"type":13,"tag":57,"props":200,"children":201},{"style":64},[202],{"type":18,"value":203},"::",{"type":13,"tag":57,"props":205,"children":206},{"style":172},[207],{"type":18,"value":208},"StructureType",{"type":13,"tag":57,"props":210,"children":211},{"style":75},[212],{"type":18,"value":213},",\n",{"type":13,"tag":57,"props":215,"children":216},{"class":59,"line":90},[217,222,226,231],{"type":13,"tag":57,"props":218,"children":219},{"style":75},[220],{"type":18,"value":221}," p_next",{"type":13,"tag":57,"props":223,"children":224},{"style":64},[225],{"type":18,"value":193},{"type":13,"tag":57,"props":227,"children":228},{"style":64},[229],{"type":18,"value":230}," *const",{"type":13,"tag":57,"props":232,"children":233},{"style":75},[234],{"type":18,"value":235}," c_void,\n",{"type":13,"tag":57,"props":237,"children":238},{"class":59,"line":109},[239,244,248,253],{"type":13,"tag":57,"props":240,"children":241},{"style":75},[242],{"type":18,"value":243}," identifier_size",{"type":13,"tag":57,"props":245,"children":246},{"style":64},[247],{"type":18,"value":193},{"type":13,"tag":57,"props":249,"children":250},{"style":172},[251],{"type":18,"value":252}," u32",{"type":13,"tag":57,"props":254,"children":255},{"style":75},[256],{"type":18,"value":213},{"type":13,"tag":57,"props":258,"children":259},{"class":59,"line":123},[260,265,269,273,278],{"type":13,"tag":57,"props":261,"children":262},{"style":75},[263],{"type":18,"value":264}," p_identifier",{"type":13,"tag":57,"props":266,"children":267},{"style":64},[268],{"type":18,"value":193},{"type":13,"tag":57,"props":270,"children":271},{"style":64},[272],{"type":18,"value":230},{"type":13,"tag":57,"props":274,"children":275},{"style":172},[276],{"type":18,"value":277}," u8",{"type":13,"tag":57,"props":279,"children":280},{"style":75},[281],{"type":18,"value":213},{"type":13,"tag":57,"props":283,"children":284},{"class":59,"line":141},[285],{"type":13,"tag":57,"props":286,"children":287},{"style":75},[288],{"type":18,"value":289},"}\n",{"type":13,"tag":291,"props":292,"children":293},"ul",{},[294,315,334,353],{"type":13,"tag":295,"props":296,"children":297},"li",{},[298,304,306,313],{"type":13,"tag":33,"props":299,"children":301},{"className":300},[],[302],{"type":18,"value":303},"sType",{"type":18,"value":305}," is a ",{"type":13,"tag":307,"props":308,"children":310},"a",{"href":309},"/man/VkStructureType",[311],{"type":18,"value":312},"VkStructureType",{"type":18,"value":314}," value identifying this structure.",{"type":13,"tag":295,"props":316,"children":317},{},[318,324,326,332],{"type":13,"tag":33,"props":319,"children":321},{"className":320},[],[322],{"type":18,"value":323},"pNext",{"type":18,"value":325}," is ",{"type":13,"tag":33,"props":327,"children":329},{"className":328},[],[330],{"type":18,"value":331},"NULL",{"type":18,"value":333}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":295,"props":335,"children":336},{},[337,343,345,351],{"type":13,"tag":33,"props":338,"children":340},{"className":339},[],[341],{"type":18,"value":342},"identifierSize",{"type":18,"value":344}," is the size, in bytes, of the buffer pointed to by\n",{"type":13,"tag":33,"props":346,"children":348},{"className":347},[],[349],{"type":18,"value":350},"pIdentifier",{"type":18,"value":352},".",{"type":13,"tag":295,"props":354,"children":355},{},[356,361],{"type":13,"tag":33,"props":357,"children":359},{"className":358},[],[360],{"type":18,"value":350},{"type":18,"value":362}," is a pointer to a buffer of opaque data specifying an\nidentifier.",{"type":13,"tag":14,"props":364,"children":365},{},[366,368,371,373,377,379,385],{"type":18,"value":367},"Any identifier ",{"type":13,"tag":21,"props":369,"children":370},{"type":23},[],{"type":18,"value":372}," be used.\nIf the pipeline being created with identifier requires compilation to\ncomplete the pipeline creation call, pipeline compilation ",{"type":13,"tag":21,"props":374,"children":376},{"type":375},"must",[],{"type":18,"value":378}," fail as\ndefined by ",{"type":13,"tag":33,"props":380,"children":382},{"className":381},[],[383],{"type":18,"value":384},"VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT",{"type":18,"value":352},{"type":13,"tag":14,"props":387,"children":388},{},[389,394,396,401,403,406,408,414],{"type":13,"tag":33,"props":390,"children":392},{"className":391},[],[393],{"type":18,"value":350},{"type":18,"value":395}," and ",{"type":13,"tag":33,"props":397,"children":399},{"className":398},[],[400],{"type":18,"value":342},{"type":18,"value":402}," ",{"type":13,"tag":21,"props":404,"children":405},{"type":23},[],{"type":18,"value":407}," be obtained from an\n",{"type":13,"tag":307,"props":409,"children":411},{"href":410},"/man/VkShaderModuleIdentifierEXT",[412],{"type":18,"value":413},"VkShaderModuleIdentifierEXT",{"type":18,"value":415}," queried earlier.",{"type":13,"tag":417,"props":418,"children":420},"validity-group",{"name":419},"Valid Usage",[421,462,504],{"type":13,"tag":422,"props":423,"children":425},"validity-field",{"name":424},"VUID-VkPipelineShaderStageModuleIdentifierCreateInfoEXT-pNext-06850",[426],{"type":13,"tag":14,"props":427,"children":428},{},[429,431,436,438,443,445,455,457,460],{"type":18,"value":430},"If this structure is included in a ",{"type":13,"tag":33,"props":432,"children":434},{"className":433},[],[435],{"type":18,"value":323},{"type":18,"value":437}," chain and\n",{"type":13,"tag":33,"props":439,"children":441},{"className":440},[],[442],{"type":18,"value":342},{"type":18,"value":444}," is not equal to 0, the\n",{"type":13,"tag":307,"props":446,"children":448},{"href":447},"/man/VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT#features-shaderModuleIdentifier",[449],{"type":13,"tag":33,"props":450,"children":452},{"className":451},[],[453],{"type":18,"value":454},"shaderModuleIdentifier",{"type":18,"value":456},"\nfeature ",{"type":13,"tag":21,"props":458,"children":459},{"type":375},[],{"type":18,"value":461}," be enabled",{"type":13,"tag":422,"props":463,"children":465},{"name":464},"VUID-VkPipelineShaderStageModuleIdentifierCreateInfoEXT-pNext-06851",[466],{"type":13,"tag":14,"props":467,"children":468},{},[469,471,476,478,484,485,490,492,495,497,502],{"type":18,"value":470},"If this struct is included in a ",{"type":13,"tag":33,"props":472,"children":474},{"className":473},[],[475],{"type":18,"value":323},{"type":18,"value":477}," chain of\n",{"type":13,"tag":307,"props":479,"children":481},{"href":480},"/man/VkPipelineShaderStageCreateInfo",[482],{"type":18,"value":483},"VkPipelineShaderStageCreateInfo",{"type":18,"value":395},{"type":13,"tag":33,"props":486,"children":488},{"className":487},[],[489],{"type":18,"value":342},{"type":18,"value":491}," is not\nequal to 0, the pipeline ",{"type":13,"tag":21,"props":493,"children":494},{"type":375},[],{"type":18,"value":496}," be created with the\n",{"type":13,"tag":33,"props":498,"children":500},{"className":499},[],[501],{"type":18,"value":384},{"type":18,"value":503}," flag set",{"type":13,"tag":422,"props":505,"children":507},{"name":506},"VUID-VkPipelineShaderStageModuleIdentifierCreateInfoEXT-identifierSize-06852",[508],{"type":13,"tag":14,"props":509,"children":510},{},[511,516,517,520,522],{"type":13,"tag":33,"props":512,"children":514},{"className":513},[],[515],{"type":18,"value":342},{"type":18,"value":402},{"type":13,"tag":21,"props":518,"children":519},{"type":375},[],{"type":18,"value":521}," be less-or-equal to\n",{"type":13,"tag":33,"props":523,"children":525},{"className":524},[],[526],{"type":18,"value":527},"VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT",{"type":13,"tag":417,"props":529,"children":531},{"name":530},"Valid Usage (Implicit)",[532,556],{"type":13,"tag":422,"props":533,"children":535},{"name":534},"VUID-VkPipelineShaderStageModuleIdentifierCreateInfoEXT-sType-sType",[536],{"type":13,"tag":14,"props":537,"children":538},{},[539,544,545,548,550],{"type":13,"tag":33,"props":540,"children":542},{"className":541},[],[543],{"type":18,"value":303},{"type":18,"value":402},{"type":13,"tag":21,"props":546,"children":547},{"type":375},[],{"type":18,"value":549}," be ",{"type":13,"tag":33,"props":551,"children":553},{"className":552},[],[554],{"type":18,"value":555},"VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT",{"type":13,"tag":422,"props":557,"children":559},{"name":558},"VUID-VkPipelineShaderStageModuleIdentifierCreateInfoEXT-pIdentifier-parameter",[560],{"type":13,"tag":14,"props":561,"children":562},{},[563,565,570,572,578,580,585,586,589,591,596,597,603],{"type":18,"value":564},"If ",{"type":13,"tag":33,"props":566,"children":568},{"className":567},[],[569],{"type":18,"value":342},{"type":18,"value":571}," is not ",{"type":13,"tag":33,"props":573,"children":575},{"className":574},[],[576],{"type":18,"value":577},"0",{"type":18,"value":579},", ",{"type":13,"tag":33,"props":581,"children":583},{"className":582},[],[584],{"type":18,"value":350},{"type":18,"value":402},{"type":13,"tag":21,"props":587,"children":588},{"type":375},[],{"type":18,"value":590}," be a valid pointer to an array of ",{"type":13,"tag":33,"props":592,"children":594},{"className":593},[],[595],{"type":18,"value":342},{"type":18,"value":402},{"type":13,"tag":33,"props":598,"children":600},{"className":599},[],[601],{"type":18,"value":602},"uint8_t",{"type":18,"value":604}," values",{"type":13,"tag":606,"props":607,"children":608},"style",{},[609],{"type":18,"value":610},"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":51,"searchDepth":81,"depth":81,"links":612},[],"markdown",1725732579596]