Vulkan-Docs/appendices/VK_NV_shader_sm_builtins.txt
Jon Leech 22a5a1459f Change log for October 6, 2019 Vulkan 1.1.124 spec update:
* Update release number to 124.

Github Issues:

  * Fix Makefile SPECREMARK macro to work when not building in a git tree
    (public issue 992).
  * Ignore pname:aspectMask for unused attachments in
    slink:VkSubpassDescription2KHR valid usage statements (public pull
    request 1028).
  * Minor markup / spelling fixes (public pull requests 1035, 1045).

Internal Issues:

  * Fix markup in Valid Usage statement for slink:VkCreateFramebuffer
    (internal issue 1823).
  * Add a new <<synchronization-signal-operation-order, _signal operation
    order_>> section to the synchronization chapter which describes in
    detail the ordering guarantees provided by the API between fence and
    semaphore signal operations (internal merge request 3368).
  * Move generated `appendix/meta/` files into the Makefile GENERATED
    directory (internal merge request 3381).

New Extensions

  * `<<VK_KHR_shader_clock>>`
  * `<<VK_KHR_timeline_semaphore>>`
2019-10-06 12:42:12 -07:00

87 lines
2.1 KiB
Plaintext

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
* <<interfaces-builtin-variables-warpspersmnv,code:WarpsPerSMNV>>
* <<interfaces-builtin-variables-smcountnv,code:SMCountNV>>
* <<interfaces-builtin-variables-warpidnv,code:WarpIDNV>>
* <<interfaces-builtin-variables-smidnv,code:SMIDNV>>
=== New SPIR-V Capabilities
* <<spirvenv-capabilities-table-shadersmbuiltins,code:ShaderSMBuiltinsNV>>
=== 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