![]() This extension provides a set of GLSL (and SPIR-V) query functions that report the set of pixels that would be accessed when performing a filtered texture lookup, which we call the image or texture footprint. The GLSL and SPIR-V extensions also expose built-ins that allow fragment shaders to read the effective fragment size in pixels (gl_FragmentSizeNV) as well as the number of fragment shader invocations launched for a fully covered pixel (gl_InvocationsPerPixelNV).This extension allows developers to implement more efficient shading rate techniques, like Foveated Rendering, Lens Adaptation (for VR), Content or Motion Adaptive Shading. Each texel of this image controls the shading rate for a 16x16 region of the screen and holds an 8-bit index value that is mapped to a shading rate via a per-viewport shading rate palette. The shading rate can vary across the screen and is controlled using a shading rate image. The shading rate can be as coarse as one fragment shader for each 4x4 block of pixels or as fine as launching 16 fragment shader invocations per pixel. This hardware feature allows applications to dynamically control the number of fragment shaders that will be launched in a particular area of the screen while rendering primitives, which we refer to as the shading rate. More details can be found in this technical blog by Christoph Kubisch Introduction Turing Mesh Shaders and in his Siggraph 2018 presentation Sigraph 2018 Mesh Shaders. This can be used to implement efficient culling or LOD schemes, perform procedural geometry generation, and many other techniques. This provides a flexible and efficient compute-like programming model supporting generic cooperative thread group features (workgroups, shared memory, barrier synchronizations, etc.). 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 can be used for variable workload expansion or reduction. If enabled, the task shader specifies the number of mesh shaders to spawn for each task. This pipeline is built around two shader stages: the task shader and the mesh shader. Mesh shaders provide a new programmable geometry processing pipeline, replacing the traditional vertex/tessellation/geometry pipeline. 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Ī GTC 2018 presentation about Vulkan Ray-Tracing can be found here: video slides. This acceleration is exposed in Vulkan through a new ray-tracing pipeline, associated with a series of new shader stages. The RT cores provide BVH traversal as well as ray-triangle intersection. Turing brings hardware acceleration for raytracing through dedicated units called RT cores. The following sections give a brief overview of each new extension and provide links to their specifications: Raytracing DriversStarting with the first GeForce RTX 2080 driver version 411.63 available here all Turing capable drivers going forward support all of these Vulkan and OpenGL extensions. Visit the LunarG SDK page to download the latest SDK for Windows or Linux here: LunarG Vulkan SDK. ![]() An updated Vulkan SDK version 1.1.92.0 contains support for VK_NV_ray_tracing and SPV_NV_ray_tracing. Vulkan SDKThe official Vulkan SDK version 1.1.85.0 from LunarG includes all the above components packaged together bringing all the tools developers need to develop Vulkan applications for Turing. SPIRV-Tools Repository for SPIR-V tools which work with the new SPIR-V extensions.Vulkan-ValidationLayers Repository for Vulkan Validation layers.glslang for compiling GLSL shaders to SPIR-V.Vulkan-Docs Repository containing Vulkan API headers.All the following tool repositories have support for these new extensions: In addition to the specifications, some tools are necessary for Vulkan developers to use these new extensions. GLSL Repository for GLSL extension specifications.SPIR-V Registry for the SPIR-V extension specifications.OpenGL Registry for the OpenGL API extension specifications.Vulkan Registry for the Vulkan API specification revision 1.1.85 and above.More details about the extensions below can be found at the official Khronos specification repositories: The Vulkan and OpenGL extensions enumerated below provide 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. Extensions have been added to both Vulkan and OpenGL to give developers access to these new features. The first GPUs from the Turing architecture have arrived with lots of new features.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |