include::{generated}/meta/VK_NV_shader_sm_builtins.txt[] *Last Modified Date*:: 2019-05-28 *Interactions and External Dependencies*:: - This extension requires {spirv}/NV/SPV_NV_shader_sm_builtins.html[`SPV_NV_shader_sm_builtins`]. - This extension enables https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_shader_sm_builtins.txt[`GL_NV_shader_sm_builtins`] for GLSL source languages. *Contributors*:: - Jeff Bolz, NVIDIA - Eric Werness, NVIDIA === Description This extension provides the ability to determine device-specific properties on NVIDIA GPUs. It provides the number of streaming multiprocessors (SMs), the maximum number of warps (subgroups) that can run on an SM, and shader builtins to enable invocations to identify which SM and warp a shader invocation is executing on. This extension enables support for the SPIR-V code:ShaderSMBuiltinsNV capability. These properties and built-ins should: typically only be used for debugging purposes. === New Object Types None. === New Enum Constants * Extending elink:VkStructureType: ** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV ** ename:VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV === New Enums None. === New Structures * slink:VkPhysicalDeviceShaderSMBuiltinsFeaturesNV * slink:VkPhysicalDeviceShaderSMBuiltinsPropertiesNV === New Functions None. === New or Modified Built-In Variables * <> * <> * <> * <> === New SPIR-V Capabilities * <> === Issues . What should we call this extension? + -- RESOLVED: Using NV_shader_sm_builtins. Other options considered included: * NV_shader_smid - but SMID is really easy to typo/confuse as SIMD. * NV_shader_sm_info - but *Info* is typically reserved for input structures -- === Version History * Revision 1, 2019-05-28 (Daniel Koch) - Internal revisions