No announcement yet.

Gallium3D's Freedreno Driver Gets A New Compiler

  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by robclark View Post
    well, "they" is a large set.. afaiu it is the handset/tablet/whatever maker who decides what sw ships on a device. I would assume that qcom's large customers (moto/samsung/etc) don't really have any problem getting support from qcom, which would be an incentive to stick with the blob.

    But otoh, the small companies, and linux/hacker/opensrc community for that matter, will benefit from availability (and hopefully the easy of working with) the free/open driver.
    Right, that.
    Interesting thing about the hardware builders, is that they seem to just regurgitate whatever the hardware manufacturer hands them. We actually have an open source kernel level replacement for their proprietary user-space mpdecision. In the world of mobile multi-core SoC's that run on battery power, to save power, we completely power cores off when they are not needed. Qualcomm has an open source kernel driver that is nothing more than an interface for their userspace mpdecision blob. The blob takes inputs from several sources, including the cpu state, plugged state (i.e., charging or not), battery level, and "input boost" state. Input boost is an android feature that flips on cores and ramps up cpu speed when you touch the touchscreen, or one of the buttons on the device -- ramp up the cpu and the phone feels "fast and fluid". The blob makes decisions about when it is appropriate to turn extra cores on and off. Our open source implementation takes input boost input directly from the touchscreen driver, rather than running through 50 levels of android/java, and we have the ability to do things like force mpdecision off when the screen is off (i.e., only one core operating when the screen is off). Our testing shows performance improvement AND power saving relative to the qualcomm blob... yet every qualcomm device you buy in the store ships with the mpdecision blob.