The SPIR-V Guide is designed to help developers get up and going in the world of SPIR-V. This guide is targeted at developers needing to use SPIR-V-based compilers in their tool chains and for developers wishing to develop custom tooling or compilers that output SPIR-V. Head on over to GitHub and starting learning about SPIR-V today.
Godot Engine has started up their Vulkan Progress Reports after 3 month hiatus. GamingOnLinux touts Godot Engine as making more impressive progress towards Vulkan API support. Godot 4.0 will see many improvements including: using a special screen-space filter to correctly simulate roughness; GLSL shaders (not Godot shaders, real GLSL 4.50+Vulkan extensions) can now be imported and will be automatically imported and converted to SPIR-V when found; allowing you to have low level access to the rendering APIs. Check out the report to learn more.
Today, The Khronos® Group, an open consortium of industry-leading companies creating advanced interoperability standards, publicly releases the OpenCL™ 3.0 Provisional Specifications. OpenCL 3.0 realigns the OpenCL roadmap to enable developer-requested functionality to be broadly deployed by hardware vendors, and it significantly increases deployment flexibility by empowering conformant OpenCL implementations to focus on functionality relevant to their target markets. OpenCL 3.0 also integrates subgroup functionality into the core specification, ships with a new OpenCL C 3.0 language specification, uses a new unified specification format, and introduces extensions for asynchronous data copies to enable a new class of embedded processors. The provisional OpenCL 3.0 specifications enable the developer community to provide feedback on GitHub before the specifications and conformance tests are finalized.
The 8th International Workshop on OpenCL, SYCL, Vulkan and SPIR-V starts today, April 27th 2020, and will be a digital only event. The complete conference program is online showing first up SYCL Tutorials with ‘An Introduction to SYCL’ presented by Codeplay, Heidelberg University, Intel and Xilinx. Registration is free. Listen now to Michael Wong, SYCL Working Group Chair give a SYCL State of the Union, with slides and video.
This month in the NVIDIA Developer Blog, Ashwin Lele and Ashwin Kolhe discuss how to use HLSL Ray Tracing with Vulkan. The NVIDIA VKRay extension, with the DXC compiler and SPIR-V backend, provides the same level of ray tracing functionality in Vulkan through HLSL as is currently available in DXR. You can now develop ray-tracing applications using DXR or NVIDIA VKRay with minimized shader re-writing to deploy to either the DirectX or Vulkan APIs.
Google acquired and open-sourced GraphicsFuzz a little over a year ago. GraphicsFuzz is no longer about only OpenGL, OpenGL ES and GLSL shaders but also operates on SPIR-V shaders for consumption by Vulkan drivers. There are also GLSL/SPIR-V shader reducers in addition to the fuzzer that relies upon randomized metamorphic testing.
A liaison between W3C and the Khronos Group was setup to coordinate on shared areas of interest. Exploratory work includes the GPU for the Web Community Group discussing possible use of SPIR-V as shading language for WebGPU with the Khronos Group through that liaison.
The Khronos Group will hold a Birds of a Feather (BOF) at this years SuperComputing ‘19 (SC9). Several of Khronos’ standards will also be included in presentations at SC19, including OpenCL, SPIR-V and SYCL. For a complete and up-to-date list of Khronos BOF and related sessions, visit the SC19 event page.
The 8th International Workshop on OpenCL (IWOCL) including SYCLcon 2020 has been announced. Join like minded developers for three days of talks, workshops and community networking aimed at furthering the collaboration and knowledge sharing amongst the international community of high-performance computing specialist working with OpenCL, SYCL, SPIR and Vulkan Compute. The event will include a mix of hands-on tutorials, technical presentations, research papers, posters, panel discussions, networking and vendor discussions.
RenderDoc 1.5 has been released. Changes include: SPIR-V reflection and disassembly has been refactored to be more reliable and is based on the publicly available grammar json; Vulkan has a new replay-time optimisation which takes advantage of the above replay options dialog; OpenGL has a low-memory optimisation to defer copying initial contents of textures and buffers that are rarely modified; Support for twenty-one (21) Vulkan extensions have been added; Support for fifteen (15) OpenGL extensions have been added along with whitelisting of some OpenGL ES extensions that were already supported. A complete list of changes and improvements is available in the Latest release notes.
Neil Trevett, the president of the Khronos Group, presented at the X.Org Developers’ Conference for the first time. During his presentation on October 2nd 2019 he covered the usual Khronos initiatives, how Khronos engages in open-source and open standards, and related information. Phoronix has done a short write-up on Neil’s talk.
Last week saw the release of Vulkan 1.1.123. The release sees four issues from GitHub addressed and several Khronos internal issues fixed. Two new extensions have also be included: VK_KHR_shader_subgroup_extended_type: enables the Non Uniform Group Operations in SPIR-V to support 8-bit integer, 16-bit integer, 64-bit integer, 16-bit floating-point, and vectors of these types, and VK_GOOGLE_user_type: allows use of the SPV_GOOGLE_user_type extension in SPIR-V shader modules.
The complete video from Vulkanised 2019 in Cambridge UK is now online. If you were not able to get to this May event, you may now watch the seven Vulkan sessions online and follow along with the slide presentations:
Vulkan Update – Kris Rose, Khronos Group Developer Relations: slides, video
Vulkan: Live Long and Optimise – Michael Parkin-White and Calum Shields, Samsung Electronics: slides, video
Vulkan Best Practices - Attilio Provenzano, Arm: slides, video
SPIRV-Cross Taking SPIR-V to the next level – Hans Kristian Arntzen, SPIRV-Cross: slides, video
Cross Process Sharing and Direct Mode with Vulkan – Jacob Bornecrantz, Collabora: slides, video
Optimising a AAA Vulkan Title on Desktop – Lou Kramer, AMD: slides, video
Panel Discussion - Alex Smith (Feral Interactive), Hans-Kristian Arntzen (SPIRV-Cross), Jan-Harald Fredriksen (Arm), Lou Kramer (AMD), Alon Or-bach, (Samsung Electronics): video
The Khronos OpenCL working group recently created a new Tooling Subgroup with the aim of improving the tools ecosystem for this widely-used open standard for heterogeneous computation—in particular, boosting the development of tooling components that can be shared by multiple vendors. Subgroup members have been meeting regularly to coordinate the overall direction for OpenCL tools, with an emphasis on strengthening the development of tools in open source, particularly by encouraging collaboration between the OpenCL and LLVM communities.