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. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Phoronix Test Suite 4.6.0 "Utsira" Released
  2. New Intel X.Org Driver Supports All Of Haswell
  3. SQLite Now Faster With Memory Mapped I/O
  4. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  5. Qt For Tizen Launches, Based On Qt 5.1
  6. KTAP Released For Linux Kernel Dynamic Tracing
  7. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
  8. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  9. Handbrake 0.9.9 Supports OpenCL Offloading
  10. Freedreno Gallium3D Now Banging The Adreno A3XX
  11. Jolla Announces Their First Phone
Latest Forum Talk
  1. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  2. New Intel X.Org Driver Supports All Of Haswell
  3. Intel Linux OpenGL Driver Leading Over Apple OS X
  4. Modern Intel Gallium3D Driver Still Being Toyed...
  5. Microsoft Releases Skype For Linux 4.2, Has...
  6. Jolla Announces Their First Phone
  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