RPi GPU driver: design decisions!
Quote:
Originally Posted by
makomk
For instance Liz had this to say in reply to Luc Verhaegen's entirely accurate comment:
She's redefined the entire OpenGL driver - including the shader compiler! - to be "microcode" and is pretending it's equivalent to the trivial closed-source microcode in competing hardware which actually has fully open source OpenGL drivers.
But what if a company (eg Broadcom) design a GPU where the GPU does nearly all the work (including GL), doesn't this necessarily imply that the ARM-side code is a thin shim?
Eben Upton stated quite clearly that this was the case in one of his comments on theraspberrypi.org where he said:
Quote:
We happen to have a GPU which exposes a comparatively high level (GL-like) interface, such that many of our userland functions are message passing shims... These are design decisions on the part of the respective GPU teams, which have wide-ranging implications for the software and hardware structure of the devices which use the resulting cores. The VideoCore driver isn’t structured this way to pull the wool over your eyes, it’s structured this way because of a genuine judgment that this is the best structure given the resources we have on the chip, which includes a vector DSP to which we can offload much of the low-level register access.
I'd really like some of the critics to engage with Eben's point, ideally without name calling. In this situation, it's clearly easier to release the ARM-side GPU driver, fewer IP issues for a start. This may explain why Broadcom were able to release this code at all, but that doesn't make it misleading to say that they've released the complete device driver!
If you think it'll help, you can define the Broadcom GPU as a). a bizarre design or b). not a GPU at all, as some commenters seem to imply. I'm not sure how that helps the discussion?
The GPU exists, the Raspberry Pi team choose to use it, now they've persuaded Broadcom to open up the admittedly thinner-than-you-might-expect GPU driver. Useful? yes! Perfect? no. Misleading? no!
- Just my opinion; your mileage may vary.