Freedreno Driver Gets Working Shader Assembler

Written by Michael Larabel in Free Software on 29 July 2012 at 10:12 PM EDT. 4 Comments
FREE SOFTWARE
Freedreno, the reverse-engineered open-source Qualcomm Snapdragon graphics driver, continues to advance. The latest accomplishment of the Freedreno Linux driver is that it now has its own working shader assembler, which means Freedreno can now work without any binary blob dependence.

Rob Clark has shared on Sunday afternoon that following some hacking he managed to get his own working shader assembler for the Qualcomm hardware. Qualcomm works on a unified shader ISA so in one-go at reverse-engineering he was able to support both vertex and fragment shaders on the Adreno/Snapdragon hardware.

The caveat though is that only simple shaders are supported without there being any support yet for flow control and other functionality.

For more details see Freedreno's Git repository and Rob's blog. "For the last month or so, I've been working on deciphering the adreno shader instruction set and creating a disassembler, and now assembler. I've hooked it up in fdre and now I can run all the test apps with shaders assembled from the fdasm assembler syntax, rather than requiring pre-compiled shaders from the adreno binary blob! This means now I can run 3d tests with no dependency on the binary blob!"
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