1// Copyright (c) 2019-2020 NVIDIA Corporation 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5include::{generated}/meta/{refprefix}VK_NV_shader_sm_builtins.adoc[] 6 7=== Other Extension Metadata 8 9*Last Modified Date*:: 10 2019-05-28 11*Interactions and External Dependencies*:: 12 - This extension provides API support for 13 {GLSLregistry}/nv/GLSL_NV_shader_sm_builtins.txt[`GL_NV_shader_sm_builtins`] 14*Contributors*:: 15 - Jeff Bolz, NVIDIA 16 - Eric Werness, NVIDIA 17 18=== Description 19 20This extension provides the ability to determine device-specific properties 21on NVIDIA GPUs. 22It provides the number of streaming multiprocessors (SMs), the maximum 23number of warps (subgroups) that can run on an SM, and shader builtins to 24enable invocations to identify which SM and warp a shader invocation is 25executing on. 26 27This extension enables support for the SPIR-V code:ShaderSMBuiltinsNV 28capability. 29 30These properties and built-ins should: typically only be used for debugging 31purposes. 32 33include::{generated}/interfaces/VK_NV_shader_sm_builtins.adoc[] 34 35=== New or Modified Built-In Variables 36 37 * <<interfaces-builtin-variables-warpspersmnv,code:WarpsPerSMNV>> 38 * <<interfaces-builtin-variables-smcountnv,code:SMCountNV>> 39 * <<interfaces-builtin-variables-warpidnv,code:WarpIDNV>> 40 * <<interfaces-builtin-variables-smidnv,code:SMIDNV>> 41 42=== New SPIR-V Capabilities 43 44 * <<spirvenv-capabilities-table-ShaderSMBuiltinsNV, 45 code:ShaderSMBuiltinsNV>> 46 47=== Issues 48. What should we call this extension? 49+ 50-- 51*RESOLVED*: `NV_shader_sm_builtins`. 52Other options considered included: 53 54 * `NV_shader_smid` - but SMID is really easy to typo/confuse as SIMD. 55 * `NV_shader_sm_info` - but *Info* is typically reserved for input 56 structures 57-- 58 59 60=== Version History 61 62 * Revision 1, 2019-05-28 (Daniel Koch) 63 ** Internal revisions 64 65 66