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