[{"data":1,"prerenderedAt":792},["ShallowReactive",2],{"tVVfAIY4Xf":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":791,"_id":4},"VkPhysicalDeviceMeshShaderFeaturesEXT","Structure describing mesh shading features that can be supported by an implementation","VK_EXT_mesh_shader","structs",[],{"type":10,"children":11,"toc":789},"root",[12,28,381,596,658,683,755,783],{"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 as:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,144],{"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 VkPhysicalDeviceMeshShaderFeaturesEXT {\n VkStructureType sType;\n void* pNext;\n VkBool32 taskShader;\n VkBool32 meshShader;\n VkBool32 multiviewMeshShader;\n VkBool32 primitiveFragmentShadingRateMeshShader;\n VkBool32 meshShaderQueries;\n} VkPhysicalDeviceMeshShaderFeaturesEXT;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,90,99,108,117,126,135],{"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}," VkPhysicalDeviceMeshShaderFeaturesEXT {\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],{"type":13,"tag":45,"props":81,"children":82},{"style":52},[83],{"type":18,"value":84}," void*",{"type":13,"tag":45,"props":86,"children":87},{"style":63},[88],{"type":18,"value":89}," pNext;\n",{"type":13,"tag":45,"props":91,"children":93},{"class":47,"line":92},4,[94],{"type":13,"tag":45,"props":95,"children":96},{"style":63},[97],{"type":18,"value":98}," VkBool32 taskShader;\n",{"type":13,"tag":45,"props":100,"children":102},{"class":47,"line":101},5,[103],{"type":13,"tag":45,"props":104,"children":105},{"style":63},[106],{"type":18,"value":107}," VkBool32 meshShader;\n",{"type":13,"tag":45,"props":109,"children":111},{"class":47,"line":110},6,[112],{"type":13,"tag":45,"props":113,"children":114},{"style":63},[115],{"type":18,"value":116}," VkBool32 multiviewMeshShader;\n",{"type":13,"tag":45,"props":118,"children":120},{"class":47,"line":119},7,[121],{"type":13,"tag":45,"props":122,"children":123},{"style":63},[124],{"type":18,"value":125}," VkBool32 primitiveFragmentShadingRateMeshShader;\n",{"type":13,"tag":45,"props":127,"children":129},{"class":47,"line":128},8,[130],{"type":13,"tag":45,"props":131,"children":132},{"style":63},[133],{"type":18,"value":134}," VkBool32 meshShaderQueries;\n",{"type":13,"tag":45,"props":136,"children":138},{"class":47,"line":137},9,[139],{"type":13,"tag":45,"props":140,"children":141},{"style":63},[142],{"type":18,"value":143},"} VkPhysicalDeviceMeshShaderFeaturesEXT;\n",{"type":13,"tag":33,"props":145,"children":150},{"className":146,"code":147,"filename":148,"language":149,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PhysicalDeviceMeshShaderFeaturesEXT {\n s_type: vk::StructureType,\n p_next: *mut c_void,\n task_shader: vk::Bool32,\n mesh_shader: vk::Bool32,\n multiview_mesh_shader: vk::Bool32,\n primitive_fragment_shading_rate_mesh_shader: vk::Bool32,\n mesh_shader_queries: vk::Bool32,\n}\n","Rust","rs",[151],{"type":13,"tag":21,"props":152,"children":153},{"__ignoreMap":39},[154,177,210,232,261,289,317,345,373],{"type":13,"tag":45,"props":155,"children":156},{"class":47,"line":48},[157,162,166,172],{"type":13,"tag":45,"props":158,"children":159},{"style":52},[160],{"type":18,"value":161},"pub",{"type":13,"tag":45,"props":163,"children":164},{"style":52},[165],{"type":18,"value":60},{"type":13,"tag":45,"props":167,"children":169},{"style":168},"--shiki-default:#953800;--shiki-dark:#FFA657",[170],{"type":18,"value":171}," PhysicalDeviceMeshShaderFeaturesEXT",{"type":13,"tag":45,"props":173,"children":174},{"style":63},[175],{"type":18,"value":176}," {\n",{"type":13,"tag":45,"props":178,"children":179},{"class":47,"line":69},[180,185,190,195,200,205],{"type":13,"tag":45,"props":181,"children":182},{"style":63},[183],{"type":18,"value":184}," s_type",{"type":13,"tag":45,"props":186,"children":187},{"style":52},[188],{"type":18,"value":189},":",{"type":13,"tag":45,"props":191,"children":192},{"style":168},[193],{"type":18,"value":194}," vk",{"type":13,"tag":45,"props":196,"children":197},{"style":52},[198],{"type":18,"value":199},"::",{"type":13,"tag":45,"props":201,"children":202},{"style":168},[203],{"type":18,"value":204},"StructureType",{"type":13,"tag":45,"props":206,"children":207},{"style":63},[208],{"type":18,"value":209},",\n",{"type":13,"tag":45,"props":211,"children":212},{"class":47,"line":78},[213,218,222,227],{"type":13,"tag":45,"props":214,"children":215},{"style":63},[216],{"type":18,"value":217}," p_next",{"type":13,"tag":45,"props":219,"children":220},{"style":52},[221],{"type":18,"value":189},{"type":13,"tag":45,"props":223,"children":224},{"style":52},[225],{"type":18,"value":226}," *mut",{"type":13,"tag":45,"props":228,"children":229},{"style":63},[230],{"type":18,"value":231}," c_void,\n",{"type":13,"tag":45,"props":233,"children":234},{"class":47,"line":92},[235,240,244,248,252,257],{"type":13,"tag":45,"props":236,"children":237},{"style":63},[238],{"type":18,"value":239}," task_shader",{"type":13,"tag":45,"props":241,"children":242},{"style":52},[243],{"type":18,"value":189},{"type":13,"tag":45,"props":245,"children":246},{"style":168},[247],{"type":18,"value":194},{"type":13,"tag":45,"props":249,"children":250},{"style":52},[251],{"type":18,"value":199},{"type":13,"tag":45,"props":253,"children":254},{"style":168},[255],{"type":18,"value":256},"Bool32",{"type":13,"tag":45,"props":258,"children":259},{"style":63},[260],{"type":18,"value":209},{"type":13,"tag":45,"props":262,"children":263},{"class":47,"line":101},[264,269,273,277,281,285],{"type":13,"tag":45,"props":265,"children":266},{"style":63},[267],{"type":18,"value":268}," mesh_shader",{"type":13,"tag":45,"props":270,"children":271},{"style":52},[272],{"type":18,"value":189},{"type":13,"tag":45,"props":274,"children":275},{"style":168},[276],{"type":18,"value":194},{"type":13,"tag":45,"props":278,"children":279},{"style":52},[280],{"type":18,"value":199},{"type":13,"tag":45,"props":282,"children":283},{"style":168},[284],{"type":18,"value":256},{"type":13,"tag":45,"props":286,"children":287},{"style":63},[288],{"type":18,"value":209},{"type":13,"tag":45,"props":290,"children":291},{"class":47,"line":110},[292,297,301,305,309,313],{"type":13,"tag":45,"props":293,"children":294},{"style":63},[295],{"type":18,"value":296}," multiview_mesh_shader",{"type":13,"tag":45,"props":298,"children":299},{"style":52},[300],{"type":18,"value":189},{"type":13,"tag":45,"props":302,"children":303},{"style":168},[304],{"type":18,"value":194},{"type":13,"tag":45,"props":306,"children":307},{"style":52},[308],{"type":18,"value":199},{"type":13,"tag":45,"props":310,"children":311},{"style":168},[312],{"type":18,"value":256},{"type":13,"tag":45,"props":314,"children":315},{"style":63},[316],{"type":18,"value":209},{"type":13,"tag":45,"props":318,"children":319},{"class":47,"line":119},[320,325,329,333,337,341],{"type":13,"tag":45,"props":321,"children":322},{"style":63},[323],{"type":18,"value":324}," primitive_fragment_shading_rate_mesh_shader",{"type":13,"tag":45,"props":326,"children":327},{"style":52},[328],{"type":18,"value":189},{"type":13,"tag":45,"props":330,"children":331},{"style":168},[332],{"type":18,"value":194},{"type":13,"tag":45,"props":334,"children":335},{"style":52},[336],{"type":18,"value":199},{"type":13,"tag":45,"props":338,"children":339},{"style":168},[340],{"type":18,"value":256},{"type":13,"tag":45,"props":342,"children":343},{"style":63},[344],{"type":18,"value":209},{"type":13,"tag":45,"props":346,"children":347},{"class":47,"line":128},[348,353,357,361,365,369],{"type":13,"tag":45,"props":349,"children":350},{"style":63},[351],{"type":18,"value":352}," mesh_shader_queries",{"type":13,"tag":45,"props":354,"children":355},{"style":52},[356],{"type":18,"value":189},{"type":13,"tag":45,"props":358,"children":359},{"style":168},[360],{"type":18,"value":194},{"type":13,"tag":45,"props":362,"children":363},{"style":52},[364],{"type":18,"value":199},{"type":13,"tag":45,"props":366,"children":367},{"style":168},[368],{"type":18,"value":256},{"type":13,"tag":45,"props":370,"children":371},{"style":63},[372],{"type":18,"value":209},{"type":13,"tag":45,"props":374,"children":375},{"class":47,"line":137},[376],{"type":13,"tag":45,"props":377,"children":378},{"style":63},[379],{"type":18,"value":380},"}\n",{"type":13,"tag":382,"props":383,"children":384},"ul",{},[385,406,425,466,500,533,556],{"type":13,"tag":386,"props":387,"children":388},"li",{},[389,395,397,404],{"type":13,"tag":21,"props":390,"children":392},{"className":391},[],[393],{"type":18,"value":394},"sType",{"type":18,"value":396}," is a ",{"type":13,"tag":398,"props":399,"children":401},"a",{"href":400},"/man/VkStructureType",[402],{"type":18,"value":403},"VkStructureType",{"type":18,"value":405}," value identifying this structure.",{"type":13,"tag":386,"props":407,"children":408},{},[409,415,417,423],{"type":13,"tag":21,"props":410,"children":412},{"className":411},[],[413],{"type":18,"value":414},"pNext",{"type":18,"value":416}," is ",{"type":13,"tag":21,"props":418,"children":420},{"className":419},[],[421],{"type":18,"value":422},"NULL",{"type":18,"value":424}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":386,"props":426,"children":427},{},[428,433,435,441,443,449,451,457,459,464],{"type":13,"tag":429,"props":430,"children":432},"anchor",{"id":431},"features-taskShader",[],{"type":18,"value":434}," ",{"type":13,"tag":21,"props":436,"children":438},{"className":437},[],[439],{"type":18,"value":440},"taskShader",{"type":18,"value":442}," specifies whether task shaders\nare supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":444,"children":446},{"className":445},[],[447],{"type":18,"value":448},"VK_SHADER_STAGE_TASK_BIT_EXT",{"type":18,"value":450},"\nand ",{"type":13,"tag":21,"props":452,"children":454},{"className":453},[],[455],{"type":18,"value":456},"VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT",{"type":18,"value":458}," enum values ",{"type":13,"tag":460,"props":461,"children":463},"normative",{"type":462},"must",[],{"type":18,"value":465}," not be\nused.",{"type":13,"tag":386,"props":467,"children":468},{},[469,473,474,480,482,488,489,495,496,499],{"type":13,"tag":429,"props":470,"children":472},{"id":471},"features-meshShader",[],{"type":18,"value":434},{"type":13,"tag":21,"props":475,"children":477},{"className":476},[],[478],{"type":18,"value":479},"meshShader",{"type":18,"value":481}," specifies whether mesh shaders\nare supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":483,"children":485},{"className":484},[],[486],{"type":18,"value":487},"VK_SHADER_STAGE_MESH_BIT_EXT",{"type":18,"value":450},{"type":13,"tag":21,"props":490,"children":492},{"className":491},[],[493],{"type":18,"value":494},"VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT",{"type":18,"value":458},{"type":13,"tag":460,"props":497,"children":498},{"type":462},[],{"type":18,"value":465},{"type":13,"tag":386,"props":501,"children":502},{},[503,507,508,514,516,526,528,531],{"type":13,"tag":429,"props":504,"children":506},{"id":505},"features-multiview-mesh",[],{"type":18,"value":434},{"type":13,"tag":21,"props":509,"children":511},{"className":510},[],[512],{"type":18,"value":513},"multiviewMeshShader",{"type":18,"value":515}," specifies whether\nthe implementation supports ",{"type":13,"tag":398,"props":517,"children":519},{"href":518},"/man/VkPhysicalDeviceMultiviewFeatures#features-multiview",[520],{"type":13,"tag":21,"props":521,"children":523},{"className":522},[],[524],{"type":18,"value":525},"multiview",{"type":18,"value":527},"\nrendering within a render pass, with mesh shaders.\nIf this feature is not enabled, then a pipeline compiled against a\nsubpass with a non-zero view mask ",{"type":13,"tag":460,"props":529,"children":530},{"type":462},[],{"type":18,"value":532}," not include a mesh shader.",{"type":13,"tag":386,"props":534,"children":535},{},[536,540,546,548,554],{"type":13,"tag":429,"props":537,"children":539},{"id":538},"features-primitiveFragmentShadingRate-mesh",[],{"type":13,"tag":21,"props":541,"children":543},{"className":542},[],[544],{"type":18,"value":545},"primitiveFragmentShadingRateMeshShader",{"type":18,"value":547}," indicates that the\nimplementation supports the ",{"type":13,"tag":398,"props":549,"children":551},{"href":550},"/chapters/primsrast#primsrast-fragment-shading-rate-primitive",[552],{"type":18,"value":553},"primitive fragment shading rate",{"type":18,"value":555}," in mesh shaders.",{"type":13,"tag":386,"props":557,"children":558},{},[559,563,564,570,572,578,580,586,588,594],{"type":13,"tag":429,"props":560,"children":562},{"id":561},"features-meshShaderQueries",[],{"type":18,"value":434},{"type":13,"tag":21,"props":565,"children":567},{"className":566},[],[568],{"type":18,"value":569},"meshShaderQueries",{"type":18,"value":571}," indicates that\nthe implementation supports creating query pools using the\n",{"type":13,"tag":21,"props":573,"children":575},{"className":574},[],[576],{"type":18,"value":577},"VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT",{"type":18,"value":579}," query type and\nstatistic queries containing the\n",{"type":13,"tag":21,"props":581,"children":583},{"className":582},[],[584],{"type":18,"value":585},"VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT",{"type":18,"value":587}," and\n",{"type":13,"tag":21,"props":589,"children":591},{"className":590},[],[592],{"type":18,"value":593},"VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT",{"type":18,"value":595}," flags",{"type":13,"tag":14,"props":597,"children":598},{},[599,601,606,608,613,615,621,623,629,631,636,637,641,643,648,650,656],{"type":18,"value":600},"If the ",{"type":13,"tag":21,"props":602,"children":604},{"className":603},[],[605],{"type":18,"value":4},{"type":18,"value":607}," structure is included in the ",{"type":13,"tag":21,"props":609,"children":611},{"className":610},[],[612],{"type":18,"value":414},{"type":18,"value":614}," chain of the\n",{"type":13,"tag":398,"props":616,"children":618},{"href":617},"/man/VkPhysicalDeviceFeatures2",[619],{"type":18,"value":620},"VkPhysicalDeviceFeatures2",{"type":18,"value":622}," structure passed to\n",{"type":13,"tag":398,"props":624,"children":626},{"href":625},"/man/vkGetPhysicalDeviceFeatures2",[627],{"type":18,"value":628},"vkGetPhysicalDeviceFeatures2",{"type":18,"value":630},", it is filled in to indicate whether each\ncorresponding feature is supported.\n",{"type":13,"tag":21,"props":632,"children":634},{"className":633},[],[635],{"type":18,"value":4},{"type":18,"value":434},{"type":13,"tag":460,"props":638,"children":640},{"type":639},"can",[],{"type":18,"value":642}," also be used in the ",{"type":13,"tag":21,"props":644,"children":646},{"className":645},[],[647],{"type":18,"value":414},{"type":18,"value":649}," chain of\n",{"type":13,"tag":398,"props":651,"children":653},{"href":652},"/man/VkDeviceCreateInfo",[654],{"type":18,"value":655},"VkDeviceCreateInfo",{"type":18,"value":657}," to selectively enable these features.",{"type":13,"tag":14,"props":659,"children":660},{},[661,663,669,671,674,676,681],{"type":18,"value":662},"The corresponding features of the ",{"type":13,"tag":21,"props":664,"children":666},{"className":665},[],[667],{"type":18,"value":668},"VkPhysicalDeviceMeshShaderFeaturesNV",{"type":18,"value":670},"\nstructure ",{"type":13,"tag":460,"props":672,"children":673},{"type":462},[],{"type":18,"value":675}," match those in ",{"type":13,"tag":21,"props":677,"children":679},{"className":678},[],[680],{"type":18,"value":4},{"type":18,"value":682},".",{"type":13,"tag":684,"props":685,"children":687},"validity-group",{"name":686},"Valid Usage",[688,723],{"type":13,"tag":689,"props":690,"children":692},"validity-field",{"name":691},"VUID-VkPhysicalDeviceMeshShaderFeaturesEXT-multiviewMeshShader-07032",[693],{"type":13,"tag":14,"props":694,"children":695},{},[696,698,703,705,711,712,717,718,721],{"type":18,"value":697},"If ",{"type":13,"tag":21,"props":699,"children":701},{"className":700},[],[702],{"type":18,"value":513},{"type":18,"value":704}," is enabled then\n",{"type":13,"tag":21,"props":706,"children":708},{"className":707},[],[709],{"type":18,"value":710},"VkPhysicalDeviceMultiviewFeaturesKHR",{"type":18,"value":199},{"type":13,"tag":21,"props":713,"children":715},{"className":714},[],[716],{"type":18,"value":525},{"type":18,"value":434},{"type":13,"tag":460,"props":719,"children":720},{"type":462},[],{"type":18,"value":722}," also\nbe enabled",{"type":13,"tag":689,"props":724,"children":726},{"name":725},"VUID-VkPhysicalDeviceMeshShaderFeaturesEXT-primitiveFragmentShadingRateMeshShader-07033",[727],{"type":13,"tag":14,"props":728,"children":729},{},[730,731,736,737,743,744,750,753],{"type":18,"value":697},{"type":13,"tag":21,"props":732,"children":734},{"className":733},[],[735],{"type":18,"value":545},{"type":18,"value":704},{"type":13,"tag":21,"props":738,"children":740},{"className":739},[],[741],{"type":18,"value":742},"VkPhysicalDeviceFragmentShadingRateFeaturesKHR",{"type":18,"value":199},{"type":13,"tag":21,"props":745,"children":747},{"className":746},[],[748],{"type":18,"value":749},"primitiveFragmentShadingRate",{"type":13,"tag":460,"props":751,"children":752},{"type":462},[],{"type":18,"value":754}," also be enabled",{"type":13,"tag":684,"props":756,"children":758},{"name":757},"Valid Usage (Implicit)",[759],{"type":13,"tag":689,"props":760,"children":762},{"name":761},"VUID-VkPhysicalDeviceMeshShaderFeaturesEXT-sType-sType",[763],{"type":13,"tag":14,"props":764,"children":765},{},[766,771,772,775,777],{"type":13,"tag":21,"props":767,"children":769},{"className":768},[],[770],{"type":18,"value":394},{"type":18,"value":434},{"type":13,"tag":460,"props":773,"children":774},{"type":462},[],{"type":18,"value":776}," be ",{"type":13,"tag":21,"props":778,"children":780},{"className":779},[],[781],{"type":18,"value":782},"VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT",{"type":13,"tag":784,"props":785,"children":786},"style",{},[787],{"type":18,"value":788},"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":790},[],"markdown",1729612465772]