VK_NV_shader_sm_builtins

Other Extension Metadata

Last Modified Date

2019-05-28

Interactions and External Dependencies
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 ShaderSMBuiltinsNV capability.

These properties and built-ins should typically only be used for debugging purposes.

New Structures

New Enum Constants

  • VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME
  • VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION
  • Extending VkStructureType:
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV

New or Modified Built-In Variables

New SPIR-V Capabilities

Issues

  1. What should we call this extension?
    RESOLVED: 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