Skip to main content

Khronos Blog

Announcements, articles, and blurbs from Khronos and Khronos members about Khronos tech, conformant products, and more. If you are a interested in submitting a blog post, please check out our Blog Guidelines.

There are many approaches to creating realistic-looking materials for 3D objects. However, not all of them are suitable for transmission over the Web, and many have a prohibitively steep learning curve. Physically Based Rendering (PBR) has emerged as an artist-friendly, intuitive, expressive, and robust technique for adding materials to 3D objects. The Khronos 3D Formats Working Group has embraced this approach, and over the past few years, they have created formal glTF extensions for a variety of PBR materials. glTF’s growing set of PBR material extensions allow artists to create strikingly realistic 3D objects – suitable for cross-platform applications including browsers, mobile devices, native applications and more – that will perform consistently across a wide range of viewers and devices.

In April 2021, the Vulkan® Working Group at Khronos® released a set of provisional extensions, collectively called ‘Vulkan Video’, for seamlessly integrating hardware-accelerated video compression and decompression into the Vulkan API. Today, Khronos is releasing finalized extensions that incorporate industry feedback and expose core and decode Vulkan Video functionality to provide fully accelerated H.264 and H.265 decode.

Khronos will release an ongoing series of Vulkan Video extensions to enable additional codecs and accelerated encode as well as decode. This blog is a general overview of the Vulkan Video architecture and also provides details about the finalized extensions and links to important resources to help you create your first Vulkan Video applications.

We’ve just released an extension that I think will completely change how engines approach descriptors going forward. Descriptor sets are now backed by VkBuffer objects where you memcpy in descriptors. Delete VkDescriptorPool and VkDescriptorSet from the API, and have fun!

First introduced in 2014 by the Khronos Group®, SYCL™ is a C++ based heterogeneous parallel programming framework for accelerating high performance computing (HPC), machine learning, embedded computing, and compute-intensive desktop applications on a wide range of processor architectures, including CPUs, GPUs, FPGAs, and tensor accelerators. SYCL 2020 launched in February 2021 to bring a new level of expressiveness and simplicity to developers programming heterogeneous parallel processors using modern C++, and further accelerating the deployment of SYCL on multiple platforms, including the use of diverse acceleration API backends in addition to OpenCL™.

Khronos has officially adopted ‘Kamaros’ (pronounced Kam-ă-ross) as the name for the Embedded Camera System API and the associated working group. Jointly promoted by Khronos and the European Machine Vision Association (EMVA), the Kamaros™ API Working Group is developing an open, royalty-free standard for controlling camera system runtimes in embedded, mobile, industrial, XR, automotive, and scientific markets. Work on the Kamar

Note: this blog summarizes the September 27, 2022 Webinar “Delivering Interactive Experiences with glTF. Access the full webinar recording here. The Khronos 3D Formats Working Group is constantly assessing emerging requirements of the glTF ecosystem and asking how the group can make the most impactful progress. Over the past 18 months, one issue has consistently bubbled to the top of these discussions: interactivity. The urgency of developi

OpenCL™ Tooling Task Sub Group (TSG) is actively contributing to the LLVM compiler infrastructure project and is determined to bring first-class support for OpenCL and SPIR-V™ to LLVM. While the latest release of Clang brought the long-awaited support for the OpenCL 3.0 standard, C++ for OpenCL 2021 kernel language, and the SPIR-V generation interface utilizing an external tool llvm-spirv from the SPIRV-LLVM-Translator repository, t

Introduction With the release of the VK_EXT_mesh_shader extension Vulkan gets an alternative geometry rasterization pipeline. This extension brings cross-vendor mesh shading to Vulkan, with a focus on improving functional compatibility with DirectX 12. Mesh and Task shaders follow the compute programming model and use threads cooperatively to generate meshes within a workgroup. The vertex and index data for these meshes are written similarly to s

Khronos opens Machine Learning Forum for anyone to join. Initiative seeks to enable system developers to deploy ML algorithms and applications efficiently across multiple platforms. The speed of innovation within the machine learning ecosystem is faster than ever before, and shows no signs of slowing with new architectures regularly hitting the headlines. While such innovations are fantastic in driving performance and functionality, the sheer diversity of hardware and software solutions poses a challenge for developers hoping to support the latest advancements, while also reaching the widest audience.

With the release of OpenCL™ 3.0 the OpenCL Working Group has made significant investments to improve the OpenCL developer experience. As part of those efforts, multiple parts of the OpenCL ecosystem received considerable updates and it is worthwhile to recap what's changed and what can be expected to improve in the future.

Khronos has introduced a new extension named VK_EXT_graphics_pipeline_library that allows for shaders to be compiled much earlier than at full Pipeline State Object (PSO) creation time. By leveraging this extension, I was able to avoid many causes of frame hitches due to PSOs being late-created at draw time in the Source 2 Vulkan renderer. Read on to learn more about VK_EXT_graphics_pipeline_library.

Demand for advanced GPU-accelerated graphics and compute is growing in a wide range of industries where safety is paramount, such as automotive and avionics. When a compute or display system failure would pose a significant safety risk it is vital that systems meet safety-critical standards such as ISO 26262.

Vulkan SC is a low-level, deterministic API that enables safety-critical system implementers to deploy state-of-the-art GPU graphics and compute acceleration by streamlining the system-level safety certification process. Vulkan SC can also be invaluable for real-time embedded applications, even if not formally safety certified.

Vulkan SC 1.0 is evolved from Vulkan 1.2 and includes the removal of runtime functionality that is not needed in safety-critical markets, an updated design to provide predictable execution times and results, and clarifications to remove potential ambiguity in its operation. The definitive list of changes and added functionality is documented in the Vulkan SC 1.0 Specification Appendix H: Vulkan SC Deviations from Base Vulkan.

This article provides a summary of the updates that have been made to create Vulkan SC 1.0, and explains how these new capabilities are typically used in applications. It is assumed that the reader has a reasonable understanding of the Vulkan API.