• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (c) 2018-2020 NVIDIA Corporation
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_EXT_mesh_shader.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2022-01-20
11*Interactions and External Dependencies*::
12  - This extension provides API support for
13    https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_mesh_shader.txt[`GLSL_EXT_mesh_shader`]
14  - Interacts with Vulkan 1.1
15  - Interacts with `apiext:VK_KHR_multiview`
16  - Interacts with `apiext:VK_KHR_fragment_shading_rate`
17*Contributors*::
18  - Christoph Kubisch, NVIDIA
19  - Pat Brown, NVIDIA
20  - Jeff Bolz, NVIDIA
21  - Daniel Koch, NVIDIA
22  - Piers Daniell, NVIDIA
23  - Pierre Boudier, NVIDIA
24  - Patrick Mours, NVIDIA
25  - David Zhao Akeley, NVIDIA
26  - Kedarnath Thangudu, NVIDIA
27  - Timur Kristóf, Valve
28  - Hans-Kristian Arntzen, Valve
29  - Philip Rebohle, Valve
30  - Mike Blumenkrantz, Valve
31  - Slawomir Grajewski, Intel
32  - Michal Pietrasiuk, Intel
33  - Mariusz Merecki, Intel
34  - Tom Olson, ARM
35  - Jan-Harald Fredriksen, ARM
36  - Sandeep Kakarlapudi, ARM
37  - Ruihao Zhang, QUALCOMM
38  - Ricardo Garcia, Igalia, S.L.
39  - Tobias Hector, AMD
40  - Stu Smith, AMD
41
42
43=== Description
44
45This extension provides a new mechanism allowing applications to generate
46collections of geometric primitives via programmable mesh shading.
47It is an alternative to the existing programmable primitive shading
48pipeline, which relied on generating input primitives by a fixed function
49assembler as well as fixed function vertex fetch.
50
51This extension also adds support for the following SPIR-V extension in
52Vulkan:
53
54  * {spirv}/EXT/SPV_EXT_mesh_shader.html[`SPV_EXT_mesh_shader`]
55
56include::{generated}/interfaces/VK_EXT_mesh_shader.adoc[]
57
58
59=== New or Modified Built-In Variables
60
61  * <<interfaces-builtin-variables-cullprimitive,CullPrimitiveEXT>>
62  * <<interfaces-builtin-variables-primitivepointindices,PrimitivePointIndicesEXT>>
63  * <<interfaces-builtin-variables-primitivelineindices,PrimitiveLineIndicesEXT>>
64  * <<interfaces-builtin-variables-primitivetriangleindices,PrimitiveTriangleIndicesEXT>>
65  * (modified)code:Position
66  * (modified)code:PointSize
67  * (modified)code:ClipDistance
68  * (modified)code:CullDistance
69  * (modified)code:PrimitiveId
70  * (modified)code:Layer
71  * (modified)code:ViewportIndex
72  * (modified)code:NumWorkgroups
73  * (modified)code:WorkgroupSize
74  * (modified)code:WorkgroupId
75  * (modified)code:LocalInvocationId
76  * (modified)code:GlobalInvocationId
77  * (modified)code:LocalInvocationIndex
78  * (modified)code:NumSubgroups
79  * (modified)code:SubgroupId
80  * (modified)code:DrawIndex
81  * (modified)code:PrimitiveShadingRateKHR
82  * (modified)code:ViewIndex
83
84
85=== New SPIR-V Capability
86
87  * <<spirvenv-capabilities-table-MeshShadingEXT, code:MeshShadingEXT>>
88
89=== Version History
90
91  * Revision 1, 2022-03-08 (Christoph Kubisch, Daniel Koch, Patrick Mours)
92  ** Initial revision
93