[{"data":1,"prerenderedAt":552},["ShallowReactive",2],{"41aqGr6jCw":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":551,"_id":4},"VkShaderStatisticsInfoAMD","Statistical information about a particular shader within a pipeline","VK_AMD_shader_info","structs",[],{"type":10,"children":11,"toc":549},"root",[12,28,401,492,519,543],{"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,177],{"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 VkShaderStatisticsInfoAMD {\n VkShaderStageFlags shaderStageMask;\n VkShaderResourceUsageAMD resourceUsage;\n uint32_t numPhysicalVgprs;\n uint32_t numPhysicalSgprs;\n uint32_t numAvailableVgprs;\n uint32_t numAvailableSgprs;\n uint32_t computeWorkGroupSize[3];\n} VkShaderStatisticsInfoAMD;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,85,99,112,125,138,168],{"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}," VkShaderStatisticsInfoAMD {\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}," VkShaderStageFlags shaderStageMask;\n",{"type":13,"tag":45,"props":77,"children":79},{"class":47,"line":78},3,[80],{"type":13,"tag":45,"props":81,"children":82},{"style":63},[83],{"type":18,"value":84}," VkShaderResourceUsageAMD resourceUsage;\n",{"type":13,"tag":45,"props":86,"children":88},{"class":47,"line":87},4,[89,94],{"type":13,"tag":45,"props":90,"children":91},{"style":52},[92],{"type":18,"value":93}," uint32_t",{"type":13,"tag":45,"props":95,"children":96},{"style":63},[97],{"type":18,"value":98}," numPhysicalVgprs;\n",{"type":13,"tag":45,"props":100,"children":102},{"class":47,"line":101},5,[103,107],{"type":13,"tag":45,"props":104,"children":105},{"style":52},[106],{"type":18,"value":93},{"type":13,"tag":45,"props":108,"children":109},{"style":63},[110],{"type":18,"value":111}," numPhysicalSgprs;\n",{"type":13,"tag":45,"props":113,"children":115},{"class":47,"line":114},6,[116,120],{"type":13,"tag":45,"props":117,"children":118},{"style":52},[119],{"type":18,"value":93},{"type":13,"tag":45,"props":121,"children":122},{"style":63},[123],{"type":18,"value":124}," numAvailableVgprs;\n",{"type":13,"tag":45,"props":126,"children":128},{"class":47,"line":127},7,[129,133],{"type":13,"tag":45,"props":130,"children":131},{"style":52},[132],{"type":18,"value":93},{"type":13,"tag":45,"props":134,"children":135},{"style":63},[136],{"type":18,"value":137}," numAvailableSgprs;\n",{"type":13,"tag":45,"props":139,"children":141},{"class":47,"line":140},8,[142,146,152,157,163],{"type":13,"tag":45,"props":143,"children":144},{"style":52},[145],{"type":18,"value":93},{"type":13,"tag":45,"props":147,"children":149},{"style":148},"--shiki-default:#953800;--shiki-dark:#FFA657",[150],{"type":18,"value":151}," computeWorkGroupSize",{"type":13,"tag":45,"props":153,"children":154},{"style":63},[155],{"type":18,"value":156},"[",{"type":13,"tag":45,"props":158,"children":160},{"style":159},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[161],{"type":18,"value":162},"3",{"type":13,"tag":45,"props":164,"children":165},{"style":63},[166],{"type":18,"value":167},"];\n",{"type":13,"tag":45,"props":169,"children":171},{"class":47,"line":170},9,[172],{"type":13,"tag":45,"props":173,"children":174},{"style":63},[175],{"type":18,"value":176},"} VkShaderStatisticsInfoAMD;\n",{"type":13,"tag":33,"props":178,"children":183},{"className":179,"code":180,"filename":181,"language":182,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct ShaderStatisticsInfoAMD {\n shader_stage_mask: vk::ShaderStageFlags,\n resource_usage: vk::ShaderResourceUsageAMD,\n num_physical_vgprs: u32,\n num_physical_sgprs: u32,\n num_available_vgprs: u32,\n num_available_sgprs: u32,\n compute_work_group_size: *const [u32 ; 3],\n}\n","Rust","rs",[184],{"type":13,"tag":21,"props":185,"children":186},{"__ignoreMap":39},[187,209,242,271,292,312,332,352,393],{"type":13,"tag":45,"props":188,"children":189},{"class":47,"line":48},[190,195,199,204],{"type":13,"tag":45,"props":191,"children":192},{"style":52},[193],{"type":18,"value":194},"pub",{"type":13,"tag":45,"props":196,"children":197},{"style":52},[198],{"type":18,"value":60},{"type":13,"tag":45,"props":200,"children":201},{"style":148},[202],{"type":18,"value":203}," ShaderStatisticsInfoAMD",{"type":13,"tag":45,"props":205,"children":206},{"style":63},[207],{"type":18,"value":208}," {\n",{"type":13,"tag":45,"props":210,"children":211},{"class":47,"line":69},[212,217,222,227,232,237],{"type":13,"tag":45,"props":213,"children":214},{"style":63},[215],{"type":18,"value":216}," shader_stage_mask",{"type":13,"tag":45,"props":218,"children":219},{"style":52},[220],{"type":18,"value":221},":",{"type":13,"tag":45,"props":223,"children":224},{"style":148},[225],{"type":18,"value":226}," vk",{"type":13,"tag":45,"props":228,"children":229},{"style":52},[230],{"type":18,"value":231},"::",{"type":13,"tag":45,"props":233,"children":234},{"style":148},[235],{"type":18,"value":236},"ShaderStageFlags",{"type":13,"tag":45,"props":238,"children":239},{"style":63},[240],{"type":18,"value":241},",\n",{"type":13,"tag":45,"props":243,"children":244},{"class":47,"line":78},[245,250,254,258,262,267],{"type":13,"tag":45,"props":246,"children":247},{"style":63},[248],{"type":18,"value":249}," resource_usage",{"type":13,"tag":45,"props":251,"children":252},{"style":52},[253],{"type":18,"value":221},{"type":13,"tag":45,"props":255,"children":256},{"style":148},[257],{"type":18,"value":226},{"type":13,"tag":45,"props":259,"children":260},{"style":52},[261],{"type":18,"value":231},{"type":13,"tag":45,"props":263,"children":264},{"style":148},[265],{"type":18,"value":266},"ShaderResourceUsageAMD",{"type":13,"tag":45,"props":268,"children":269},{"style":63},[270],{"type":18,"value":241},{"type":13,"tag":45,"props":272,"children":273},{"class":47,"line":87},[274,279,283,288],{"type":13,"tag":45,"props":275,"children":276},{"style":63},[277],{"type":18,"value":278}," num_physical_vgprs",{"type":13,"tag":45,"props":280,"children":281},{"style":52},[282],{"type":18,"value":221},{"type":13,"tag":45,"props":284,"children":285},{"style":148},[286],{"type":18,"value":287}," u32",{"type":13,"tag":45,"props":289,"children":290},{"style":63},[291],{"type":18,"value":241},{"type":13,"tag":45,"props":293,"children":294},{"class":47,"line":101},[295,300,304,308],{"type":13,"tag":45,"props":296,"children":297},{"style":63},[298],{"type":18,"value":299}," num_physical_sgprs",{"type":13,"tag":45,"props":301,"children":302},{"style":52},[303],{"type":18,"value":221},{"type":13,"tag":45,"props":305,"children":306},{"style":148},[307],{"type":18,"value":287},{"type":13,"tag":45,"props":309,"children":310},{"style":63},[311],{"type":18,"value":241},{"type":13,"tag":45,"props":313,"children":314},{"class":47,"line":114},[315,320,324,328],{"type":13,"tag":45,"props":316,"children":317},{"style":63},[318],{"type":18,"value":319}," num_available_vgprs",{"type":13,"tag":45,"props":321,"children":322},{"style":52},[323],{"type":18,"value":221},{"type":13,"tag":45,"props":325,"children":326},{"style":148},[327],{"type":18,"value":287},{"type":13,"tag":45,"props":329,"children":330},{"style":63},[331],{"type":18,"value":241},{"type":13,"tag":45,"props":333,"children":334},{"class":47,"line":127},[335,340,344,348],{"type":13,"tag":45,"props":336,"children":337},{"style":63},[338],{"type":18,"value":339}," num_available_sgprs",{"type":13,"tag":45,"props":341,"children":342},{"style":52},[343],{"type":18,"value":221},{"type":13,"tag":45,"props":345,"children":346},{"style":148},[347],{"type":18,"value":287},{"type":13,"tag":45,"props":349,"children":350},{"style":63},[351],{"type":18,"value":241},{"type":13,"tag":45,"props":353,"children":354},{"class":47,"line":140},[355,360,364,369,374,379,384,388],{"type":13,"tag":45,"props":356,"children":357},{"style":63},[358],{"type":18,"value":359}," compute_work_group_size",{"type":13,"tag":45,"props":361,"children":362},{"style":52},[363],{"type":18,"value":221},{"type":13,"tag":45,"props":365,"children":366},{"style":52},[367],{"type":18,"value":368}," *const",{"type":13,"tag":45,"props":370,"children":371},{"style":63},[372],{"type":18,"value":373}," [",{"type":13,"tag":45,"props":375,"children":376},{"style":148},[377],{"type":18,"value":378},"u32",{"type":13,"tag":45,"props":380,"children":381},{"style":63},[382],{"type":18,"value":383}," ; ",{"type":13,"tag":45,"props":385,"children":386},{"style":159},[387],{"type":18,"value":162},{"type":13,"tag":45,"props":389,"children":390},{"style":63},[391],{"type":18,"value":392},"],\n",{"type":13,"tag":45,"props":394,"children":395},{"class":47,"line":170},[396],{"type":13,"tag":45,"props":397,"children":398},{"style":63},[399],{"type":18,"value":400},"}\n",{"type":13,"tag":402,"props":403,"children":404},"ul",{},[405,417,437,448,459,470,481],{"type":13,"tag":406,"props":407,"children":408},"li",{},[409,415],{"type":13,"tag":21,"props":410,"children":412},{"className":411},[],[413],{"type":18,"value":414},"shaderStageMask",{"type":18,"value":416}," are the combination of logical shader stages\ncontained within this shader.",{"type":13,"tag":406,"props":418,"children":419},{},[420,426,428,435],{"type":13,"tag":21,"props":421,"children":423},{"className":422},[],[424],{"type":18,"value":425},"resourceUsage",{"type":18,"value":427}," is a ",{"type":13,"tag":429,"props":430,"children":432},"a",{"href":431},"/man/VkShaderResourceUsageAMD",[433],{"type":18,"value":434},"VkShaderResourceUsageAMD",{"type":18,"value":436}," structure\ndescribing internal physical device resources used by this shader.",{"type":13,"tag":406,"props":438,"children":439},{},[440,446],{"type":13,"tag":21,"props":441,"children":443},{"className":442},[],[444],{"type":18,"value":445},"numPhysicalVgprs",{"type":18,"value":447}," is the maximum number of vector instruction\ngeneral-purpose registers (VGPRs) available to the physical device.",{"type":13,"tag":406,"props":449,"children":450},{},[451,457],{"type":13,"tag":21,"props":452,"children":454},{"className":453},[],[455],{"type":18,"value":456},"numPhysicalSgprs",{"type":18,"value":458}," is the maximum number of scalar instruction\ngeneral-purpose registers (SGPRs) available to the physical device.",{"type":13,"tag":406,"props":460,"children":461},{},[462,468],{"type":13,"tag":21,"props":463,"children":465},{"className":464},[],[466],{"type":18,"value":467},"numAvailableVgprs",{"type":18,"value":469}," is the maximum limit of VGPRs made available to\nthe shader compiler.",{"type":13,"tag":406,"props":471,"children":472},{},[473,479],{"type":13,"tag":21,"props":474,"children":476},{"className":475},[],[477],{"type":18,"value":478},"numAvailableSgprs",{"type":18,"value":480}," is the maximum limit of SGPRs made available to\nthe shader compiler.",{"type":13,"tag":406,"props":482,"children":483},{},[484,490],{"type":13,"tag":21,"props":485,"children":487},{"className":486},[],[488],{"type":18,"value":489},"computeWorkGroupSize",{"type":18,"value":491}," is the local workgroup size of this shader in\n{ X, Y, Z } dimensions.",{"type":13,"tag":14,"props":493,"children":494},{},[495,497,502,504,510,512,517],{"type":18,"value":496},"Some implementations may merge multiple logical shader stages together in a\nsingle shader.\nIn such cases, ",{"type":13,"tag":21,"props":498,"children":500},{"className":499},[],[501],{"type":18,"value":414},{"type":18,"value":503}," will contain a bitmask of all of the\nstages that are active within that shader.\nConsequently, if specifying those stages as input to\n",{"type":13,"tag":429,"props":505,"children":507},{"href":506},"/man/vkGetShaderInfoAMD",[508],{"type":18,"value":509},"vkGetShaderInfoAMD",{"type":18,"value":511},", the same output information ",{"type":13,"tag":513,"props":514,"children":516},"normative",{"type":515},"may",[],{"type":18,"value":518}," be returned for\nall such shader stage queries.",{"type":13,"tag":14,"props":520,"children":521},{},[522,524,529,531,536,538,541],{"type":18,"value":523},"The number of available VGPRs and SGPRs (",{"type":13,"tag":21,"props":525,"children":527},{"className":526},[],[528],{"type":18,"value":467},{"type":18,"value":530}," and\n",{"type":13,"tag":21,"props":532,"children":534},{"className":533},[],[535],{"type":18,"value":478},{"type":18,"value":537}," respectively) are the shader-addressable subset of\nphysical registers that is given as a limit to the compiler for register\nassignment.\nThese values ",{"type":13,"tag":513,"props":539,"children":540},{"type":515},[],{"type":18,"value":542}," further be limited by implementations due to performance\noptimizations where register pressure is a bottleneck.",{"type":13,"tag":544,"props":545,"children":546},"style",{},[547],{"type":18,"value":548},"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":550},[],"markdown",1725732586514]