Collabora & Microsoft to Bring OpenCL 1.2 and OpenGL 3.3 to DirectX 12 enabled Windows Devices

OpenCL DirectX Translation Layer

Collabora has been working on open-source graphics projects for a while, including Panfrost open-source drivers for Arm Midgard and Bitfrost GPUs which got experimental OpenGL ES 3.0 support earlier this year. But the company has also been working with Microsoft in order to provide an OpenCL 1.2 & OpenGL 3.3 translation layer for Windows devices compatible with DirectX 12. Their solution relies on Mesa 3D OpenCL and OpenGL open-source implementation with three main components: an OpenCL compiler using LLVM and the SPIRV-LLVM-Translator to generate SPIR-V representations of OpenCL kernels. The data goes through an SPIR-V to NIR translator (NIR is Mesa’s internal representation for GPU shaders), and finally to NIR-to-DXIL generating a DXIL compute shader and metadata understood by DirectX 12 (D3D12) a custom OpenCL runtime to do a direct translation of DirectX 12 (Not based on Mesa Clover implementation) a Gallium driver that builds and executes command-buffers on the GPU using the D3D12 API. It turns OpenGL commands into …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Panfrost Open-Source Arm Mali GPU Driver Gets Experimental OpenGL ES 3.0 Support

Panfrost OpenGL ES 3.0

Panfrost is the open-source driver being developed for Arm Midgard and Bitfrost GPUs. The first versions focused on support for OpenGL ES 2.0, but the more recent OpenGL ES 3.0 enables faster and more realistic rendering. The goods news is that Panfrost support for experimental OpenGL ES 3.0 has landed in Mesa according to a recent post on Collabora blog. Specifically, Panfrost now supports instanced rendering, primitive restart, uniform buffer objects, 3D textures, and multiple render targets (on Mali T760 and up) all of which are OpenGL ES 3.0 features. People who are not into graphics development may not know about the purpose of those features, but Alyssa Rosenzweig, a free software graphics hacker leading Panfrost, explains: … instanced rendering and primitive restart allow developers to write faster graphics applications, to render efficiently scenes more complex than possible in ES 2.0. … uniform buffer objects and 3D texture give developers a more natural environment to write efficient graphics shaders, again …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Google Summer of Code 2020 Mentoring Organizations Announced

Google Summer of Code 2020

Every year Google organizes the Summer of Code inviting students to work on open-source projects and even get paid for it. The company first select mentoring organizations, before accepting applications from students. Google has now announced the 200 organizations/projects that have been selected for Summer of Code 2020. Many projects are higher-level software development such as web development or desktop programs development but there are also projects closer to the hardware-side of things with operating systems and multimedia projects. Some interesting organization and/or  projects part of the audio / graphics / video / multimedia category include: apertus Association developing AXIOM open-source hardware camera FFmpeg multimedia framework to decode, encode, transcode, de/mux, stream, filter & play audio and video stream found in many projects OpenCV Open Source Computer Vision Library for computer vision and deep learning applications. XOrg foundation for X Window System and related projects such as Mesa, DRI, Wayland, etc… Some operating systems part of GSoC 2020 include: Amahi …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Raspberry Pi 4 is Now OpenGL ES 3.1 Conformant, Work on Vulkan Drivers Started

Raspberry Pi 4 Vulkan

Raspberry Pi 4 Model B 4 was launched last June with a new Broadcom BCM2711 SoC featuring an upgraded Videocore VI GPU supporting OpenGL ES 3.0 graphics API. Some drivers only implement a subset of OpenGL 3.0/3.1 3D graphics standard defined by the Khronos Group, and the good news is that Raspberry Pi 4 Model B is now OpenGL ES 3.1 conformant, as it passed all tests in Khronos conformance test suite. That means that any Linux programmed using OpenGL ES 3.1 API should work out of the box, although in some cases there may be issues/bugs that were not detected by the test suite. The Vulkan API is an evolution of OpenGL ES API that is meant to be more power-efficient as it better makes utilize of multi-core processors. The Raspberry Pi Foundation has also started working on Vulkan support for Raspberry Pi 4, and while the driver is still very much work in progress the basic triangle demo …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

MediaPipe is an Open Source Perception Pipeline Framework Developed by Google

MediaPipeObjectDet

MediaPipe is an open-source perception pipeline framework introduced by Google, which helps to build multi-modal machine learning pipelines. A developer can build a prototype, without really getting into writing machine learning algorithms and models, by using existing components. This framework can be used for various vision & media processing applications (especially in VR) such as Object Detection, Face Detection, Hand Tacking, Multi-hand Tracking and Hair Segmentation. MediaPipe supports various hardware and operating system platforms such as Android, iOS & Linux by offering API’s in C++, Java, Objective-c, etc. And this framework also capable of utilizing GPU resources. MediaPipe Components The framework is comprised of three major components A framework for inference from the pipeline data Tools for evaluation And a collection of reusable inference and processing components It follows the approach of Graph-based frameworks in OpenCV and all processing happens with the context of the Graph. The Graph contains a collection of nodes and each node is implemented as a …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Some Interesting Talks from FOSDEM 2020 Schedule

FOSDEM 2020 Schedule

We wrote about IoT devroom call for proposals for FOSDEM 2020 a little while ago, and as the free open-source developer meetup is getting closer, FOSDEM 2020 organizers released the schedule. So I’ll look at some of the talks in the relevant devrooms such as the Internet of Things, hardware enablement, Embedded, Mobile and Automotive, as well as RISC-V and others to compose my own little virtual schedule for the 2-day event. Saturday, February 1 10:30 – 10:50 – How lowRISC made its Ibex RISC-V CPU core faster – Using open source tools to improve an open-source core – by Greg Chadwick Ibex implements RISC-V 32-bit I/E MC M-Mode, U-Mode, and PMP. It uses an in-order 2 stage pipe and is best suited for area and power-sensitive rather than high-performance applications. However, there is scope for meaningful performance gains without major impact to power or area. This talk describes work done at lowRISC to analyze and improve the performance of …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Imagination Unveils IMG A-Series GPU Designed For Everything from IoT to Mobile and Server

IMG A-Series GPU

Imagination Technologies has just launched IMG A-Series GPU which they claim is “The GPU of Everything” and “The fastest GPU IP ever”. IMG A-Series can be customized and scaled for various applications & markets from automotive, AIoT, set-top box, mobile, and server.  Compared to the company’s earlier PowerVR 9Series GPU, IMG A-Series GPU delivers 2.5 times more performance, eight times faster AI processor, and 60% less power while running complex content with the same process node, area, and under similar conditions. IMG A-Series GPU supports the latest API standards including OpenGL ES, Vulkan, OpenCL, and Imagination provides a Unified AI API for use in combination with PowerVR neural network accelerators. It also offers 5x performance density compared to the best current shipping PowerVR devices and supports PVRIC4 lossless or virtually-lossless compression guaranteeing a 50% bandwidth and footprint reduction. The new GPU also leverages HyperLane Technology with up to eight individual, isolated hardware control lanes for multizone hardware virtualization leading to …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Linux 5.3 Release – Main Changes, Arm, MIPS & RISC-V Architectures

Linux 5.3 Changelog

Linus Torvalds has just announced the release of Linux 5.3: So we’ve had a fairly quiet last week, but I think it was good that we ended up having that extra week and the final rc8. Even if the reason for that extra week was my travel schedule rather than any pending issues, we ended up having a few good fixes come in, including some for some bad btrfs behavior. Yeah, there’s some unnecessary noise in there too (like the speling fixes), but we also had several last-minute reverts for things that caused issues. One _particularly_ last-minute revert is the top-most commit (ignoring the version change itself) done just before the release, and while it’s very annoying, it’s perhaps also instructive. What’s instructive about it is that I reverted a commit that wasn’t actually buggy. In fact, it was doing exactly what it set out to do, and did it very well. In fact it did it _so_ well that …

Support CNX Software – Donate via PayPal or become a Patron on Patreon