Impact of Qualcomm-NXP-Freescale on the GPU Ecosystem

Its been a busy week in the markets, with the announcement of the Qualcomm-NXP deal. As is common in such big ticket announcements, a lot of detail gets shoved behind for later discussion.

One of these "little" things is the number of GPU architectures that this combined entity will support at start, and where it will end up later. The same applies to the CPU architectures, but given that it is still coming from an ARM based family it might be less of an issue. On the DSP side, Freescale and Qualcomm also have their own separate DSP engines that need to have their own roadmaps.


A History of the GPU, and What We Dont See

A History of the GPU, and What We Dont See (Abridged version)
Published on July 1, 2016

The full version of this article was published in a LinkedIn post at,

Prabindh Sundareson
Author at GPUPowered.Org


Developing with GL_OES_texture_3D with glfw3

Enabling 3D Texturing support with glfw3 and GLES2

Sometimes it is required to enable 3D texture support in an OpenGLES 2.0 context. It is possible to do this, if the underlying platform supports the 3D texturing extension.


- When using glfw3, extension headers need to be enabled in the build, through below step in header files:

#define GLFW_INCLUDE_ES2 1

newsgpugraphicswebglmachine learningvirtual realityaugmented reality

GPU Performance Improvement Areas

OpenGL performance improvement recommendations:

This short set of links provide different areas in which performance improvement can be done - specifically on CPU-GPU interaction, memory mapping/locking, batching, usage of extensions to improve performance, drawing of translucent objects, to list a few.

Imagination Technologies:



Using ANGLE for Windows and using the OpenGLES2.0 API


ANGLE (Almost Native Graphics Layer Engine) is a software wrapper, that provides a Khronos certified OpenGLES2.0 implementation on Windows platforms. This is a good tool to understand how 3D Graphics APIs work internally. Qt5 also uses ANGLE internally on windows builds, to be able to run the SceneGraph framework using OpenGLES2.0 across all platforms, including windows, in all versions from Qt5.1, Qt5.2 and further.


Enabling two level translation tables for the ARMv7 MMU for usage with GPU


In unified memory systems, the GPU needs to access the data in buffers allocated by the CPU. Usually, the OS kernel APIs are used to get the real physical addresses of buffers allocated by the CPU, and then map it to the GPU's virtual memory space. In this context, it is important to understand how two level tables for virtual address translations work.

mmutlbtranslation tablegpu

About provides information related to advanced GPU related technologies, and live labs and quiz for practising OpenGL ES and allied technologies. It has also served as collateral for the Workshops on Advanced Graphics, organised by the IEEE Consumer Electronics Society in 2011, held every year since then (as GFX2011, GFX2012, GFX2013, GFX2014, GFX2015).

Follow updates on the web