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 […]

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 […]

MediaTek Helio P95 Processor Launched with APU 2.0 AI Accelerator, Faster Graphics

MediaTek Helio P95

MediaTek has just unveiled an upgrade to its Helio P90 processor. MediaTek Helio P95 still features the same APU 2.0 engine for AI accelerator but with a 10% performance improvement based on ETH Zurich benchmark, and the PowerVR GM 9446 GPU clock has been increased as well to deliver a 10% graphics performance boost. The company also claims a “60% shorter GPU rendering-to-display pipeline”, but it’s unclear whether the comparison is against the P90 processor or other “typical” Arm processors. MediaTek Helio P95 key features and specifications: CPU – 2x Arm Cortex-A75 processors @ 2.2GHz and 6x Arm Cortex-A55 processors @ 2.0GHz using DynamIQ technology GPU – Imagination PowerVR GM 9446 GPU NPU – MediaTek APU 2.0 fusion AI architecture with 1127 GMACs MediaTek CorePilot for sustainable peak performance, longer battery life, and lower operating temperature System Memory –  Up to 8GB of dual-channel LPDDR4x memory @ 1866 MHz Storage […]

NetBSD 9.0 Released with Aarch64 Support, Arm ServerReady Compatibility

NetBSD 9.0

Yesterday, we wrote about Raspberry Pi 4 getting UEFI+ACPI firmware for Arm SSBR compliance allowing the board to run operating systems designed for “Arm ServerReady” servers out of the box. NetBSD 9.0 was just released on February 14, 2020, with support for Aarch64 (64-bit Arm) which had been in the works for a few years, and includes support for “Arm ServerReady” compliant machines (SBBR+SBSA). NetBSD 9.0 main changes related to hardware support: Support for AArch64 (64-bit Armv8-A) machines Compatibility with “Arm ServerReady” compliant machines (SBBR+SBSA) using ACPI. Tested on Amazon Graviton and Graviton2 (including bare metal instances), AMD Opteron A1100, Ampere eMAG 8180, Cavium ThunderX, Marvell ARMADA 8040, QEMU w/ Tianocore EDK2 Symmetric and asymmetrical multiprocessing support (big.LITTLE) Support for running 32-bit binaries via COMPAT_NETBSD32 on CPUs that support it Single GENERIC64 kernel supports ACPI and device tree based booting Supported SoCs Allwinner A64, H5, H6 Amlogic S905, S805X, S905D, […]

CNX Software is 10 Years Old – Top 10 Posts of the Last Decade

CNX Software Anniversary

Around 10 years ago, I decided it might be a good idea to have an online presence. At the time, I just thought I would write from time to time, and I had no idea it would eventually become my main activity. My very first post was on February 14, 2010 about software development tools such as CVS and Bugzilla. That means today is the 10th anniversary of CNX Software website! So I thought it might be fun to look at the most popular posts of the last ten years. I only installed Google Analytics sometimes in 2011, but it should not affect the results since I did not have many readers at the time, and the post that really started to bring more visitors, and made me switch from a $1 monthly hosting plan to a VPS, was “74 USD AllWinner A10 Android 4.0 Mini PC” published in May […]

Think Silicon NEOX|V is the First RISC-V ISA based GPU

RISC-V GPU

We are seeing more and more RISC-V microcontrollers and processors hitting the market, but so far they all lacked a GPU for 3D graphics acceleration. Think Silicon, the make of NEMA GPU for IoT and wearables, has now announced it will demonstrate NEOX|V GPU, the first RISC-V ISA based 3D, at the RISC-V Summit at the San Jose Convention Center, on December 10-12, in San Jose, California. NEOX|V key features: Parallel multi-core and multi-threaded architecture based on the RISC-V64GC ISA instruction set with adaptive NoC (Networks-on-Chip) Configurable from 4 to 64 cores Variety of cache sizes and thread counts organized in 1 to 16 cluster elements Variety of cluster/core configurations with compute power ranging from 12.8 to 409.6 GFLOPS at 800 MHz Support for FP16, FP32, and FP64 plus SIMD instructions Beside 3D graphics, the RISC-V GPU can also be used for machine learning, vision/video processing, and open GPGPU compute […]

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, […]

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

Linux 5.4 Changelog

Linus Torvalds has just announced the release of Linux 5.4: Not a lot happened this last week, which is just how I like it. And as expected, most of the pull requests I got were for the 5.5 merge window, which I’ll obviously start working through tomorrow. What little there is here is mostly some networking updates (mix of network drivers and core networking), and some minor GPU driver updates. Other than that it’s a small collection of random other things all over. The appended shortlog is small enough that you might as well just scroll through it. Anyway, this obviously opens the merge window for 5.5. It’s not ideal timing with Thanksgiving week coming up, but it hopefully shouldn’t be too much of an issue. If I fall behind (not because I’m all that big of a fan of the indiscriminate and relentless turkey-killing holiday) it’s because we’ve got […]

Memfault IoT and embedded debugging platform