package Ġvk k . extensions Ċ Ċ @ Jvm Inline Ċ value Ġclass ĠVk Shader Info Type AMD ( val Ġi : ĠInt ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠSTAT ISTICS _ AMD Ġ= ĠVk Shader Info Type AMD ( 0 ) ĊĠĠĠĠĠĠĠ Ġval ĠBINARY _ AMD Ġ= ĠVk Shader Info Type AMD ( 1 ) ĊĠĠĠĠĠĠĠ Ġval ĠDIS AS SE MB LY _ AMD Ġ= ĠVk Shader Info Type AMD ( 2 ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ // typedef Ġstruct ĠVk Shader Resource Usage AMD Ġ{ Ċ // ĠĠĠ Ġuint 3 2 _ t ĠĠĠ Ġnum Used Vg prs ; Ċ // ĠĠĠ Ġuint 3 2 _ t ĠĠĠ Ġnum Used Sg prs ; Ċ // ĠĠĠ Ġuint 3 2 _ t ĠĠĠ Ġl ds Size Per Local Work Group ; Ċ // ĠĠĠ Ġsize _ t ĠĠĠĠĠ Ġl ds Usage Size InBytes ; Ċ // ĠĠĠ Ġsize _ t ĠĠĠĠĠ Ġscratch Mem Usage InBytes ; Ċ //} ĠVk Shader Resource Usage AMD ; Ċ // Ċ // typedef Ġstruct ĠVk Shader Statistics Info AMD Ġ{ Ċ // ĠĠĠ ĠVk Shader Stage Flags ĠĠĠĠĠĠĠĠĠ Ġshader Stage Mask ; Ċ // ĠĠĠ ĠVk Shader Resource Usage AMD ĠĠĠ Ġresource Usage ; Ċ // ĠĠĠ Ġuint 3 2 _ t ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Physical Vg prs ; Ċ // ĠĠĠ Ġuint 3 2 _ t ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Physical Sg prs ; Ċ // ĠĠĠ Ġuint 3 2 _ t ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Available Vg prs ; Ċ // ĠĠĠ Ġuint 3 2 _ t ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnum Available Sg prs ; Ċ // ĠĠĠ Ġuint 3 2 _ t ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompute Work Group Size [ 3 ]; Ċ //} ĠVk Shader Statistics Info AMD ; Ċ // Ċ // Ċ // VK API _ ATTR ĠVk Result ĠVK API _ CALL ĠvkGet Shader Info AMD ( Ċ // VkDevice ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevice , Ċ // Vk Pipeline ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpipeline , Ċ // Vk Shader Stage Flag Bits ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshader Stage , Ċ // Vk Shader Info Type AMD ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinfo Type , Ċ // size _ t * ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp Info Size , Ċ // void * ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp Info );