Skip to main content

Shaders tagged news

Greg Fischer, Senior Engineer at LunarG, released a new white paper describing functionality in spriv-tools and glslang which allows the user to do dead code elimination in SPIR-V shaders across stages. This functionality also can be used to trim trailing dead components from aggregate input and output variables in the shaders. Many drivers do these cross-stage optimizations automatically under the covers, but some drivers may not. These optimizations can have a significant impact on a shader’s performance and size.

The Vulkan Working Group has released the VK_EXT_mesh_shader extension that brings cross-vendor mesh shading to Vulkan and improves functional compatibility with DirectX 12. The new mesh shading pipeline with the task and mesh shading stages provides an alternative to the traditional vertex, tessellation, or geometry shader stages that feed into rasterization.

Mesh shaders provide greater flexibility to developers and enable a two-stage approach for efficient culling, level-of-detail management, and procedural generation of geometry. Compared to the traditional pipeline, mesh shaders enable easy access to the topology of generated primitives and developers are free to repurpose shader threads to perform both vertex shading and primitive shading workloads. Khronos will provide a mesh shader open-source sample to support and showcase the new VK_EXT_mesh_shader extension, and an updated shaderc library in the Vulkan SDK is coming soon.

For those that wish to try out the new mesh shader on their own GPU; NVIDIA is shipping the new extension in their beta Vulkan drivers today, and experimental support in the open source RADV and ANV drivers are now available.

For additional information developers are invited to:

WebGL playground lets you type in your WebGL script and see the results, all on the same page. The editor lets you work on the JavaScript code and the GLSL vertex/fragment shaders (if you have any) at the same time in a convenient way. Everything is organized, formatted and includes syntax highlighting. You can use arbitrary JavaScript libraries to create your effects, combine multiple fragment and vertex shaders, handle user input, and more.

ARM announced the Mali™ User Interface (UI) Engine, including the Lotion UI example source code, is now available via the Mali Developer Centre free of charge. The UI engine can be used to develop 3D applications, providing an OS-independent set of facilities for handling I/O devices, loading & management of graphics assets including textures and OpenGL ES 2.0 shaders. Also included is a library of classes and functions to help develop 3D User Interfaces.