Fuzzing OpenGL Shaders Can Lead To Some Wild Results

Written by Michael Larabel in Standards on 11 December 2016 at 07:28 AM EST. 29 Comments
STANDARDS
Alastair Donaldson at the Imperial College London has been working on testing OpenGL shader compilers across vendors and operating systems with OpenGL shader fuzzing and has been finding some surprising -- and sometimes comical -- results. The results so far are interesting and show how some small code changes can cause big problems for some OpenGL shader compilers.

The researcher began his series with this Medium post outlining their wokr at the UK university for working to provide automatic testing of OpenGL shader compilers via GLfuzz to spot problems with the driver stacks.

Going in alphabetical order, he started with AMD. With AMD's Windows drivers he was able to cause a "Bluescreen of Death" via WebGL on a web-page within Chrome, bad image rendering in desktop OpenGL as well as WebGL in Chrome, and more details. There's also an oddity whereby writing code past a break statement can cause an image not to render.

When testing Apple his team was able to spot PowerVR driver issues to cause garbage rendering as well as making a slug to disappear.

That's as far as their publishing has gone so far but more driver vendors are coming up. It's already been a lot of interesting reading, so if you have time this weekend, check out Alastair Donaldson's Medium page.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week