The first GPUs from the Turing architecture have arrived with lots of new features. Extensions have been added to both Vulkan and OpenGL to give developers access to these new features. The various Khronos Registries and Repositories have been updated to include the specifications and tools for the new extensions. The Vulkan and OpenGL extensions enumerated below provide developers access to these new features.

Turing brings hardware acceleration for raytracing through dedicated units called RT cores. The RT cores provide BVH traversal as well as ray-triangle intersection. This acceleration is exposed in Vulkan through a new ray-tracing pipeline, associated with a series of new shader stages. This programming model is similar to the DXR (DirectX Ray-Tracing) model, which is briefly described in this blog post: Introduction to NVIDIA RTX and DirectX Ray Tracing

Mesh shaders provide a new programmable geometry processing pipeline, replacing the traditional vertex/tessellation/geometry pipeline. This pipeline is built around two shader stages: the task shader and the mesh shader. If enabled, the task shader specifies the number of mesh shaders to spawn for each task. This can be used for variable workload expansion or reduction. The mesh shader writes a compact mesh description (meshlets) to on-chip memory and then feeds that output to the rasterizer for further processing. This provides a flexible and efficient compute-like programming model supporting generic cooperative thread group features (workgroups, shared memory, barrier synchronizations, etc.). This can be used to implement efficient culling or LOD schemes, perform procedural geometry generation, and many other techniques.