SPIR tagged news

Shader Conductor is one of several open-source projects for going from one shading language to another. With Microsoft's Shader Conductor the focus is on converting HLSL to GLSL or SPIR-V (OpenGL/Vulkan), ESSL (OpenGL ES), MSL (Apple Metal), and older HLSL shader models. Shader Conductor can handle all shader stages, including geometry and compute shaders. Learn more about this new Open Source project from Microsoft.

The Khronos Group has made public the SPIRV LLVM Translator Github repository which contains source code for the LLVM/SPIR-V Bi-Directional Translator, a library for translating between LLVM and SPIR-V. The LLVM/SPIR-V Bi-Directional Translator is open source software.

The Khronos Group announces the release of the Vulkan 1.1 and SPIR-V 1.3 specifications. Version 1.1 expands Vulkan’s core functionality with developer-requested features, such as subgroup operations, while integrating a wide range of proven extensions from Vulkan 1.0. Khronos will also release full Vulkan 1.1 conformance tests into open source and AMD, Arm, Imagination, Intel Corporation, NVIDIA and Qualcomm have implemented conformant Vulkan 1.1 drivers.

Vulkan now ships natively on almost all GPU-enabled platforms, including Windows 7, 8.X, 10, Android 7.0+ and Linux, plus Khronos recently announced open source tools to enable Vulkan 1.0 applications to be ported to macOS and iOS. Vulkan has widespread support in leading games engines including Unreal, Unity, Source 2 from Valve, id Tech, CroTeam’s Serious Engine, CryEngine, and Xenko. Vulkan is being used in over 30 cutting-edge games on diverse desktop and mobile platforms, including Doom, Quake, Roblox, The Talos Principle, Dota 2, and is the exclusive API used in AAA titles such as Wolfenstein II and Doom VFR.

Read the press release and learn more about the Vulkan 1.1 specification and associated tests and tools on the Vulkan home page.

LunarG announces SPIR-V size reduction with -Os optionLunarG is pleased to announce the release of a new option in spirv-opt, which was designed to reduce SPIR-V size. This new option, -Os, allows developers to reduce SPIR-V size without specifying individual passes of spirv-opt. Learn more about this option at LunarG. For those developers who wish to have finer control over which passes are invoked, read more details about the available SPIR-V optimization options in the white paper by Greg Fischer of LunarG, titled SPIR-V Shader Size Reduction Using spirv-opt_v1.1.

Geeks 3D has a great overview of the new OpenGL and Vulkan features in the AMD Adrenalin 17.12.1 release. AMD has added some OpenGL 4.6 extensions (GL_ARB_gl_spirv) but not all, so Adrenalin 17.12.1 is still an OpenGL 4.5 driver with OpenGL 4.6 features. This driver exposes 319 OpenGL extensions (GL=294 and WGL=25) for a Radeon RX 470 on Windows 10 64-bit. Adrenalin 17.12.1 also exposes Vulkan 1.0.65 which is one of the latest specifications. Vulkan support has been added to Radeon Overlay, Radeon Relive, Enhanced Sync and Frame rate target control.

How The Khronos Group Intends to get us to a unified graphics futureNeil Trevett, President of The Khronos Group, talks to Architosh in this two-part series about OpenGL and the future of graphics standards. On the eve of SIGGRAPH 2017 Neil Trevett spoke to Architosh about the evolving OpenGL standard as well as directions the group is taking to plot a path for a universal graphics API that engages the use of low-level APIs. Read more about why OpenGL isn't packing for retirement just yet a the key thing in OpenGL 4.6 is SPIR-V is part of core.

Codeplay announces SPIR-V support for ComputeCpp in v0.3.0. This beta implementation of SPIR-V for OpenCL support means that developers can use SYCL and ComputeCpp to develop for any OpenCL hardware that includes a driver that consumes SPIR-V.

Only a few days after the 1.35.x release, GPU Caps Viewer 1.36.x has been released with support for OpenGL 4.6. OpenGL 4.6 introduces the support of SPIR-V modules in OpenGL and the set of SPIR-V extensions is listed exposed in the OpenGL panel. There are a few Vulkan improvements as well in this version. GPU Caps Viewer is a graphics card information utility focused on the OpenGL, Vulkan, OpenCL and CUDA API level support of the main (primary) graphics card.

Khronos Releases OpenCL 2.2 With SPIR-V 1.2The Khronos Group announces the immediate availability of the finalized OpenCL™ 2.2 specification, incorporating industry feedback received from developers during the provisional specification review period. In addition to releasing the specification in final form, Khronos has, for the first time, released the full source of the specifications and conformance tests for OpenCL 2.2 onto GitHub to enable deeper community engagement. The conformance tests for OpenCL versions 1.2, 2.0 and 2.1 have also been released on GitHub with more open-source releases to follow. The Windsor Testing Framework, also released today, enables developers to quickly install and configure the OpenCL Conformance Test Suite on their own systems. Developers who know OpenCL C and plan to port their kernels to OpenCL C++, the OpenCL C to OpenCL C++ Porting Guidelines have been released.

Many applications porting to Vulkan also need a way to port their HLSL shaders to SPIR-V. Glslang provides a method to translate HLSL shaders to SPIR-V, which is now available and ready to use. Currently the HLSL mode of the glslang frontend is complete enough to run complex, real-world workloads such as Dota 2 and Ashes of the Singularity. It accepts shaders for any shader stage, and handles common language constructs for functions, control flow, variable and type declarations, registers and pack offsets, most DX10 and later texture methods, most intrinsic functions, most preprocessor functionality, most built-in semantics, and attributes that affect stage functionality. To learn more about the HLSL to SPIR-V translator, visit this FAQ at the glslang GitHub.

As mentioned on Phoronix, Google just announced GSoC 2017 Projects. Included in the list are several Khronos related projects:
• Software Renderer for Vulkan (Vulkan, SPIR-V)
• 3D Hardware Acceleration in Haiku (OpenGL)
• Cross Platform GUI for CCExtractor (OpenGL
• libosmscout: Implementation of an opengl renderer (OpenGL)
• OpenGL-accelerated Renderer for Cytoscape 3 (OpenGL)
• Improvement to WebGL core for p5.js (WebGL)
• Project Proposal-Javascript/WebGL Library For Interactive Visualization Of Large-Scale Network Graphs. (WebGL)
• WebGL improvements for p5.js (WebGL)
• Creating the fastest math libraries for Ruby by using the GPU through OpenCL and ArrayFire. (OpenCL)
• GPU Boolean Evaluation for CSG Ray-Tracing (OpenCL)
• HPXCL – Asynchronous Integration of CUDA and OpenCL to HPX (OpenCL)
• libxcam Enable a debluring feature with OpenCL Design (OpenCL)
• Speeding up functional network analysis on fMRI data with distributed, in-memory computation using Apache Spark (OpenCL)