Freedreno Driver Gets Working Shader Assembler

Posted by Michael Larabel on July 29, 2012

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!"

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. GCC 4.8.0 vs. LLVM Clang 3.3 Compiler Performance
  2. Intel Linux OpenGL Driver Leading Over Apple OS X
  3. The Cost Of Ubuntu Disk Encryption
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
Latest Linux News
  1. A New X.Org-Free Wayland LiveCD Released
  2. Unity 8, Mir Made Progress This Week On Features
  3. LLVM Clang 3.3 RC2 Is Ready For Testing
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. Linux Desktop Security Could Be A Whole Lot Better
  7. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  8. New NVIDIA Linux Driver Supports The GeForce GTX 780
  9. Chrome 28 To Offer More Speed Improvements
  10. Digia Announces "Boot To Qt" Project
  11. X.Org Libraries Hit By Round Of Security Issues
Latest Forum Talk
  1. Steam: No used games...
  2. Intel Shows Off GNOME3-Based Tizen Shell
  3. A New X.Org-Free Wayland LiveCD Released
  4. AMD RadeonSI Gallium3D Begins Simple CL Demos
  5. Unity 8, Mir Made Progress This Week On Features
  6. Linux's "Ondemand" Governor Is No...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite