Vulkan-Docs/appendices/VK_NV_shader_sm_builtins.txt
Jon Leech ad46c7dc68 Change log for June 10, 2019 Vulkan 1.1.111 spec update:
* Update release number to 111.

Github Issues:

  * Clean up flink:vkGetPhysicalDeviceSurfaceFormatsKHR and
    flink:vkGetPhysicalDeviceSurfaceFormats2KHR to drop the
    ename:VK_FORMAT_UNDEFINED case, require callers pass a supported
    surface, and rearrange some validation-related language (public issue
    207).
  * Allow dynamic and nonuniform indexing of acceleration structures in the
    <<interfaces-resources-descset, Descriptor Set Interface>> section
    (public KhronosGroup/glslang issue 1766).

Internal Issues:

  * Clarify when images require the use of YCbCr samplers for
    slink:VkWriteDescriptorSet and slink:VkImageViewCreateInfo (internal
    issue 1639).
  * Remove the "`block`" language around <<features-robustBufferAccess,
    vectorizing and robust buffer access>> (internal issue 1642).
  * Allow code:OpTypeImageFormat == code:Unknown for input attachments in
    the <<interfaces-resources-descset, Descriptor Set Interface>> section
    (internal issue 1645).
  * Fix asciidoctor conditionals around
    ename:VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT in the
    <<fundamentals-errorcodes>> section (internal issue 1679).
  * Remove error codes from `vk.xml` for
    flink:vkUninitializePerformanceApiINTEL, which has a `void` return type
    (internal issue 1704).
  * Various subgroup-related fixes in the <<spirvenv-capabilities,
    Capabilities>>, <<shaders-subgroup-arithmetic, Arithmetic Subgroup
    Operations>>, <<shaders-subgroup-clustered, Clustered Subgroup
    Operations>>, and <<shaders-subgroup-partitioned, Partitioned Subgroup
    Operations>> sections (internal merge request 3164).
  * Fix asciidoctor markup affecting math rendering in the <<Precision of
    core SPIR-V Instructions>> table (internal merge request 3166).
  * Fix incorrect reference to flink:vkGetPhysicalDeviceFeatures2KHR in the
    description of slink:VkPhysicalDeviceASTCDecodeFeaturesEXT (internal
    merge request 3169).
  * Fix a non-sentence in the introduction to the <<textures, Image
    Operations Overview>> section (internal merge request 3184).
  * Minor markup, grammar, and typo fixes for the
    `<<NV_shader_sm_builtins>>` extension spec language (internal merge
    request 3189).
  * Clarify that 1D and 1D array format support is optional for cubic
    filters, immediately following the <<formats-mandatory-features-astc,
    Mandatory ASTC LDR format support>> table (internal merge request 3194).
2019-06-10 03:32:46 -07:00

87 lines
2.2 KiB
Plaintext

include::meta/VK_NV_shader_sm_builtins.txt[]
*Last Modified Date*::
2019-05-28
*Interactions and External Dependencies*::
- This extension requires
http://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/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