[{"data":1,"prerenderedAt":748},["ShallowReactive",2],{"$fVC0qmV7ireTkp8i6Swq-S3lJBlwWqUC6H10p1QHLlww":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":747,"_id":4},"vkGetShaderInstrumentationValuesARM","Retrieve shader instrumentation data","VK_ARM_shader_instrumentation","protos",[],{"type":10,"children":11,"toc":745},"root",[12,68,73,405,470,553,592,739],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,25,27,34,36,43,45,50,52,58,60,66],{"type":18,"value":19},"text","Data ",{"type":13,"tag":21,"props":22,"children":24},"normative",{"type":23},"can",[],{"type":18,"value":26}," be retrieved from an instrumentation object in units of metric\nblocks.\nThe size of each metric block in bytes is\n",{"type":13,"tag":28,"props":29,"children":31},"code",{"className":30},[],[32],{"type":18,"value":33},"sizeof",{"type":18,"value":35},"(",{"type":13,"tag":37,"props":38,"children":40},"a",{"href":39},"/man/VkShaderInstrumentationMetricDataHeaderARM",[41],{"type":18,"value":42},"VkShaderInstrumentationMetricDataHeaderARM",{"type":18,"value":44},") +\n",{"type":13,"tag":28,"props":46,"children":48},{"className":47},[],[49],{"type":18,"value":33},{"type":18,"value":51},"(uint64_t) ×\n",{"type":13,"tag":28,"props":53,"children":55},{"className":54},[],[56],{"type":18,"value":57},"VkPhysicalDeviceShaderInstrumentationPropertiesARM",{"type":18,"value":59},"::",{"type":13,"tag":28,"props":61,"children":63},{"className":62},[],[64],{"type":18,"value":65},"numMetrics",{"type":18,"value":67},".",{"type":13,"tag":14,"props":69,"children":70},{},[71],{"type":18,"value":72},"To retrieve metric blocks from an instrumentation object, call:",{"type":13,"tag":74,"props":75,"children":76},"code-group",{},[77,205],{"type":13,"tag":78,"props":79,"children":85},"pre",{"className":80,"code":81,"filename":82,"language":83,"meta":84,"style":84},"language-c shiki shiki-themes github-light-default github-dark-default","VkResult vkGetShaderInstrumentationValuesARM(\n VkDevice device,\n VkShaderInstrumentationARM instrumentation,\n uint32_t* pMetricBlockCount,\n void* pMetricValues,\n VkShaderInstrumentationValuesFlagsARM flags);\n","C","c","",[86],{"type":13,"tag":28,"props":87,"children":88},{"__ignoreMap":84},[89,111,131,149,168,186],{"type":13,"tag":90,"props":91,"children":94},"span",{"class":92,"line":93},"line",1,[95,101,106],{"type":13,"tag":90,"props":96,"children":98},{"style":97},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[99],{"type":18,"value":100},"VkResult ",{"type":13,"tag":90,"props":102,"children":104},{"style":103},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[105],{"type":18,"value":4},{"type":13,"tag":90,"props":107,"children":108},{"style":97},[109],{"type":18,"value":110},"(\n",{"type":13,"tag":90,"props":112,"children":114},{"class":92,"line":113},2,[115,120,126],{"type":13,"tag":90,"props":116,"children":117},{"style":97},[118],{"type":18,"value":119}," VkDevice ",{"type":13,"tag":90,"props":121,"children":123},{"style":122},"--shiki-default:#953800;--shiki-dark:#FFA657",[124],{"type":18,"value":125},"device",{"type":13,"tag":90,"props":127,"children":128},{"style":97},[129],{"type":18,"value":130},",\n",{"type":13,"tag":90,"props":132,"children":134},{"class":92,"line":133},3,[135,140,145],{"type":13,"tag":90,"props":136,"children":137},{"style":97},[138],{"type":18,"value":139}," VkShaderInstrumentationARM ",{"type":13,"tag":90,"props":141,"children":142},{"style":122},[143],{"type":18,"value":144},"instrumentation",{"type":13,"tag":90,"props":146,"children":147},{"style":97},[148],{"type":18,"value":130},{"type":13,"tag":90,"props":150,"children":152},{"class":92,"line":151},4,[153,159,164],{"type":13,"tag":90,"props":154,"children":156},{"style":155},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[157],{"type":18,"value":158}," uint32_t*",{"type":13,"tag":90,"props":160,"children":161},{"style":122},[162],{"type":18,"value":163}," pMetricBlockCount",{"type":13,"tag":90,"props":165,"children":166},{"style":97},[167],{"type":18,"value":130},{"type":13,"tag":90,"props":169,"children":171},{"class":92,"line":170},5,[172,177,182],{"type":13,"tag":90,"props":173,"children":174},{"style":155},[175],{"type":18,"value":176}," void*",{"type":13,"tag":90,"props":178,"children":179},{"style":122},[180],{"type":18,"value":181}," pMetricValues",{"type":13,"tag":90,"props":183,"children":184},{"style":97},[185],{"type":18,"value":130},{"type":13,"tag":90,"props":187,"children":189},{"class":92,"line":188},6,[190,195,200],{"type":13,"tag":90,"props":191,"children":192},{"style":97},[193],{"type":18,"value":194}," VkShaderInstrumentationValuesFlagsARM ",{"type":13,"tag":90,"props":196,"children":197},{"style":122},[198],{"type":18,"value":199},"flags",{"type":13,"tag":90,"props":201,"children":202},{"style":97},[203],{"type":18,"value":204},");\n",{"type":13,"tag":78,"props":206,"children":211},{"className":207,"code":208,"filename":209,"language":210,"meta":84,"style":84},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn get_shader_instrumentation_values_arm(\n device: vk::Device,\n instrumentation: vk::ShaderInstrumentationARM,\n p_metric_block_count: *mut u32,\n p_metric_values: *mut c_void,\n flags: vk::ShaderInstrumentationValuesFlagsARM,\n) -> vk::Result;\n","Rust","rs",[212],{"type":13,"tag":28,"props":213,"children":214},{"__ignoreMap":84},[215,237,268,297,323,344,373],{"type":13,"tag":90,"props":216,"children":217},{"class":92,"line":93},[218,223,228,233],{"type":13,"tag":90,"props":219,"children":220},{"style":155},[221],{"type":18,"value":222},"pub",{"type":13,"tag":90,"props":224,"children":225},{"style":155},[226],{"type":18,"value":227}," fn",{"type":13,"tag":90,"props":229,"children":230},{"style":103},[231],{"type":18,"value":232}," get_shader_instrumentation_values_arm",{"type":13,"tag":90,"props":234,"children":235},{"style":97},[236],{"type":18,"value":110},{"type":13,"tag":90,"props":238,"children":239},{"class":92,"line":113},[240,245,250,255,259,264],{"type":13,"tag":90,"props":241,"children":242},{"style":97},[243],{"type":18,"value":244}," device",{"type":13,"tag":90,"props":246,"children":247},{"style":155},[248],{"type":18,"value":249},":",{"type":13,"tag":90,"props":251,"children":252},{"style":122},[253],{"type":18,"value":254}," vk",{"type":13,"tag":90,"props":256,"children":257},{"style":155},[258],{"type":18,"value":59},{"type":13,"tag":90,"props":260,"children":261},{"style":122},[262],{"type":18,"value":263},"Device",{"type":13,"tag":90,"props":265,"children":266},{"style":97},[267],{"type":18,"value":130},{"type":13,"tag":90,"props":269,"children":270},{"class":92,"line":133},[271,276,280,284,288,293],{"type":13,"tag":90,"props":272,"children":273},{"style":97},[274],{"type":18,"value":275}," instrumentation",{"type":13,"tag":90,"props":277,"children":278},{"style":155},[279],{"type":18,"value":249},{"type":13,"tag":90,"props":281,"children":282},{"style":122},[283],{"type":18,"value":254},{"type":13,"tag":90,"props":285,"children":286},{"style":155},[287],{"type":18,"value":59},{"type":13,"tag":90,"props":289,"children":290},{"style":122},[291],{"type":18,"value":292},"ShaderInstrumentationARM",{"type":13,"tag":90,"props":294,"children":295},{"style":97},[296],{"type":18,"value":130},{"type":13,"tag":90,"props":298,"children":299},{"class":92,"line":151},[300,305,309,314,319],{"type":13,"tag":90,"props":301,"children":302},{"style":97},[303],{"type":18,"value":304}," p_metric_block_count",{"type":13,"tag":90,"props":306,"children":307},{"style":155},[308],{"type":18,"value":249},{"type":13,"tag":90,"props":310,"children":311},{"style":155},[312],{"type":18,"value":313}," *mut",{"type":13,"tag":90,"props":315,"children":316},{"style":122},[317],{"type":18,"value":318}," u32",{"type":13,"tag":90,"props":320,"children":321},{"style":97},[322],{"type":18,"value":130},{"type":13,"tag":90,"props":324,"children":325},{"class":92,"line":170},[326,331,335,339],{"type":13,"tag":90,"props":327,"children":328},{"style":97},[329],{"type":18,"value":330}," p_metric_values",{"type":13,"tag":90,"props":332,"children":333},{"style":155},[334],{"type":18,"value":249},{"type":13,"tag":90,"props":336,"children":337},{"style":155},[338],{"type":18,"value":313},{"type":13,"tag":90,"props":340,"children":341},{"style":97},[342],{"type":18,"value":343}," c_void,\n",{"type":13,"tag":90,"props":345,"children":346},{"class":92,"line":188},[347,352,356,360,364,369],{"type":13,"tag":90,"props":348,"children":349},{"style":97},[350],{"type":18,"value":351}," flags",{"type":13,"tag":90,"props":353,"children":354},{"style":155},[355],{"type":18,"value":249},{"type":13,"tag":90,"props":357,"children":358},{"style":122},[359],{"type":18,"value":254},{"type":13,"tag":90,"props":361,"children":362},{"style":155},[363],{"type":18,"value":59},{"type":13,"tag":90,"props":365,"children":366},{"style":122},[367],{"type":18,"value":368},"ShaderInstrumentationValuesFlagsARM",{"type":13,"tag":90,"props":370,"children":371},{"style":97},[372],{"type":18,"value":130},{"type":13,"tag":90,"props":374,"children":376},{"class":92,"line":375},7,[377,382,387,391,395,400],{"type":13,"tag":90,"props":378,"children":379},{"style":97},[380],{"type":18,"value":381},") ",{"type":13,"tag":90,"props":383,"children":384},{"style":155},[385],{"type":18,"value":386},"->",{"type":13,"tag":90,"props":388,"children":389},{"style":122},[390],{"type":18,"value":254},{"type":13,"tag":90,"props":392,"children":393},{"style":155},[394],{"type":18,"value":59},{"type":13,"tag":90,"props":396,"children":397},{"style":122},[398],{"type":18,"value":399},"Result",{"type":13,"tag":90,"props":401,"children":402},{"style":97},[403],{"type":18,"value":404},";\n",{"type":13,"tag":406,"props":407,"children":408},"ul",{},[409,420,430,441,460],{"type":13,"tag":410,"props":411,"children":412},"li",{},[413,418],{"type":13,"tag":28,"props":414,"children":416},{"className":415},[],[417],{"type":18,"value":125},{"type":18,"value":419}," is the logical device that was used to capture shader\ninstrumentation data.",{"type":13,"tag":410,"props":421,"children":422},{},[423,428],{"type":13,"tag":28,"props":424,"children":426},{"className":425},[],[427],{"type":18,"value":144},{"type":18,"value":429}," is the shader instrumentation object to retrieve\nvalues from",{"type":13,"tag":410,"props":431,"children":432},{},[433,439],{"type":13,"tag":28,"props":434,"children":436},{"className":435},[],[437],{"type":18,"value":438},"pMetricBlockCount",{"type":18,"value":440}," is a pointer to an integer related to the number\nof metric blocks available or queried.",{"type":13,"tag":410,"props":442,"children":443},{},[444,450,452,458],{"type":13,"tag":28,"props":445,"children":447},{"className":446},[],[448],{"type":18,"value":449},"pMetricValues",{"type":18,"value":451}," is either ",{"type":13,"tag":28,"props":453,"children":455},{"className":454},[],[456],{"type":18,"value":457},"NULL",{"type":18,"value":459}," or a pointer to an\napplication-allocated buffer where the results will be written.",{"type":13,"tag":410,"props":461,"children":462},{},[463,468],{"type":13,"tag":28,"props":464,"children":466},{"className":465},[],[467],{"type":18,"value":199},{"type":18,"value":469}," is reserved for future use.",{"type":13,"tag":14,"props":471,"children":472},{},[473,475,480,482,487,489,494,496,501,503,507,509,514,516,521,523,528,530,535,537,543,545,551],{"type":18,"value":474},"If ",{"type":13,"tag":28,"props":476,"children":478},{"className":477},[],[479],{"type":18,"value":449},{"type":18,"value":481}," is ",{"type":13,"tag":28,"props":483,"children":485},{"className":484},[],[486],{"type":18,"value":457},{"type":18,"value":488},", then the number of metric blocks available\nis returned in ",{"type":13,"tag":28,"props":490,"children":492},{"className":491},[],[493],{"type":18,"value":438},{"type":18,"value":495},".\nOtherwise, ",{"type":13,"tag":28,"props":497,"children":499},{"className":498},[],[500],{"type":18,"value":438},{"type":18,"value":502}," ",{"type":13,"tag":21,"props":504,"children":506},{"type":505},"must",[],{"type":18,"value":508}," point to a variable set by the\napplication to the number of elements in the ",{"type":13,"tag":28,"props":510,"children":512},{"className":511},[],[513],{"type":18,"value":449},{"type":18,"value":515}," array, and\non return the variable is overwritten with the number of metric blocks\nactually written to ",{"type":13,"tag":28,"props":517,"children":519},{"className":518},[],[520],{"type":18,"value":449},{"type":18,"value":522},".\nIf ",{"type":13,"tag":28,"props":524,"children":526},{"className":525},[],[527],{"type":18,"value":438},{"type":18,"value":529}," is less than the number of metric blocks\navailable, at most ",{"type":13,"tag":28,"props":531,"children":533},{"className":532},[],[534],{"type":18,"value":438},{"type":18,"value":536}," elements will be written, and\n",{"type":13,"tag":28,"props":538,"children":540},{"className":539},[],[541],{"type":18,"value":542},"VK_INCOMPLETE",{"type":18,"value":544}," will be returned instead of ",{"type":13,"tag":28,"props":546,"children":548},{"className":547},[],[549],{"type":18,"value":550},"VK_SUCCESS",{"type":18,"value":552},", to\nindicate that not all the available metric blocks were returned.",{"type":13,"tag":14,"props":554,"children":555},{},[556,558,563,565,570,572,577,578,583,585,591],{"type":18,"value":557},"Metrics are written to ",{"type":13,"tag":28,"props":559,"children":561},{"className":560},[],[562],{"type":18,"value":449},{"type":18,"value":564}," as a tightly packed array of\nmetric blocks, where each block consists of a\n",{"type":13,"tag":28,"props":566,"children":568},{"className":567},[],[569],{"type":18,"value":42},{"type":18,"value":571}," header followed by\n",{"type":13,"tag":28,"props":573,"children":575},{"className":574},[],[576],{"type":18,"value":57},{"type":18,"value":59},{"type":13,"tag":28,"props":579,"children":581},{"className":580},[],[582],{"type":18,"value":65},{"type":18,"value":584},"\nunsigned 64-bit values.\nThe order of the metrics matches the order in which they are enumerated by\n",{"type":13,"tag":37,"props":586,"children":588},{"href":587},"/man/vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM",[589],{"type":18,"value":590},"vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM",{"type":18,"value":67},{"type":13,"tag":593,"props":594,"children":596},"validity-group",{"name":595},"Valid Usage (Implicit)",[597,624,648,674,692,716],{"type":13,"tag":598,"props":599,"children":601},"validity-field",{"name":600},"VUID-vkGetShaderInstrumentationValuesARM-device-parameter",[602],{"type":13,"tag":14,"props":603,"children":604},{},[605,610,611,614,616,622],{"type":13,"tag":28,"props":606,"children":608},{"className":607},[],[609],{"type":18,"value":125},{"type":18,"value":502},{"type":13,"tag":21,"props":612,"children":613},{"type":505},[],{"type":18,"value":615}," be a valid ",{"type":13,"tag":37,"props":617,"children":619},{"href":618},"/man/VkDevice",[620],{"type":18,"value":621},"VkDevice",{"type":18,"value":623}," handle",{"type":13,"tag":598,"props":625,"children":627},{"name":626},"VUID-vkGetShaderInstrumentationValuesARM-instrumentation-parameter",[628],{"type":13,"tag":14,"props":629,"children":630},{},[631,636,637,640,641,647],{"type":13,"tag":28,"props":632,"children":634},{"className":633},[],[635],{"type":18,"value":144},{"type":18,"value":502},{"type":13,"tag":21,"props":638,"children":639},{"type":505},[],{"type":18,"value":615},{"type":13,"tag":37,"props":642,"children":644},{"href":643},"/man/VkShaderInstrumentationARM",[645],{"type":18,"value":646},"VkShaderInstrumentationARM",{"type":18,"value":623},{"type":13,"tag":598,"props":649,"children":651},{"name":650},"VUID-vkGetShaderInstrumentationValuesARM-pMetricBlockCount-parameter",[652],{"type":13,"tag":14,"props":653,"children":654},{},[655,660,661,664,666,672],{"type":13,"tag":28,"props":656,"children":658},{"className":657},[],[659],{"type":18,"value":438},{"type":18,"value":502},{"type":13,"tag":21,"props":662,"children":663},{"type":505},[],{"type":18,"value":665}," be a valid pointer to a ",{"type":13,"tag":28,"props":667,"children":669},{"className":668},[],[670],{"type":18,"value":671},"uint32_t",{"type":18,"value":673}," value",{"type":13,"tag":598,"props":675,"children":677},{"name":676},"VUID-vkGetShaderInstrumentationValuesARM-pMetricValues-parameter",[678],{"type":13,"tag":14,"props":679,"children":680},{},[681,686,687,690],{"type":13,"tag":28,"props":682,"children":684},{"className":683},[],[685],{"type":18,"value":449},{"type":18,"value":502},{"type":13,"tag":21,"props":688,"children":689},{"type":505},[],{"type":18,"value":691}," be a pointer value",{"type":13,"tag":598,"props":693,"children":695},{"name":694},"VUID-vkGetShaderInstrumentationValuesARM-flags-zerobitmask",[696],{"type":13,"tag":14,"props":697,"children":698},{},[699,704,705,708,710],{"type":13,"tag":28,"props":700,"children":702},{"className":701},[],[703],{"type":18,"value":199},{"type":18,"value":502},{"type":13,"tag":21,"props":706,"children":707},{"type":505},[],{"type":18,"value":709}," be ",{"type":13,"tag":28,"props":711,"children":713},{"className":712},[],[714],{"type":18,"value":715},"0",{"type":13,"tag":598,"props":717,"children":719},{"name":718},"VUID-vkGetShaderInstrumentationValuesARM-instrumentation-parent",[720],{"type":13,"tag":14,"props":721,"children":722},{},[723,728,729,732,734],{"type":13,"tag":28,"props":724,"children":726},{"className":725},[],[727],{"type":18,"value":144},{"type":18,"value":502},{"type":13,"tag":21,"props":730,"children":731},{"type":505},[],{"type":18,"value":733}," have been created, allocated, or retrieved from ",{"type":13,"tag":28,"props":735,"children":737},{"className":736},[],[738],{"type":18,"value":125},{"type":13,"tag":740,"props":741,"children":742},"style",{},[743],{"type":18,"value":744},"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":84,"searchDepth":113,"depth":113,"links":746},[],"markdown",1773121650460]