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