• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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