Vladimir Vukićević

I Make Fun Stuff

Mobile Graphics Pushing Forward

SIGGRAPH was this week, and while I didn’t attend, I had a few thoughts about some of the announcements that were made. Mozilla is pretty serious about wanting to increase the level of graphics capability accessible to the web on both the desktop and mobile. As some sharp observers may have noticed, we (and by we, I mean largely Guillaume Abadie) at Mozilla have been working quietly on implementing the bulk of OpenGL ES 3.0 capabilities as extensions to WebGL 1 (all disabled by pref by default, for now!). “WebGL 2”, when it’s specified, will likely just be the union of all of these extensions, but all on by default. A WebGL 2 tied to OpenGL ES 3.0 is a big step towards exposing more modern graphics capabilities, but it’s still behind what’s current on the desktop. What we need is a unified API on both desktop and mobile that can allow access to the maximum capabilities of each.

NVIDIA’s announcement of Project Logan, their next-generation mobile processor, is pretty exciting. By bringing desktop-class GL 4.4 in addition to ES 2 and ES 3 to mobile, I’m hoping that it will spur the mobile industry to push the mobile graphics envelope forward, instead of stagnating for years as it did with ES2. Having the latest version of Android support ES 3 is a good start, but it’s still behind what’s available on the desktop. While having OpenGL 4.4 isn’t immediately going to help WebGL – we still need to deliver a consistent API for the web – the presence of the “desktop” API on a mobile platform blurs the line between the two. The difference between what can be done on a traditional desktop or laptop PC vs a tablet or a smartphone is shrinking rapidly. The difference in graphics capabilities should shrink as well.

Under the hood, Firefox can take advantage of the additional capabilities even if they aren’t exposed to content through WebGL. We currently have many paths to access the various hardware acceleration APIs on different platforms. Being able to access desktop-class GL on a mobile device will enable us to bring some acceleration paths to mobile that should make Firefox really shine on Logan-class mobile hardware. I’m looking forward to getting my hands on a Logan-powered device and running some content through Firefox for Android!