3 ms·
It is a bit disappointing, but they have taken the pragmatic view, that it is better to have what they have delivered than nothing at all. I would really like
by Lerc 13y ago
It is a bit disappointing, but they have taken the pragmatic view, that it is better to have what they have delivered than nothing at all.
I would really like to see what the full capabilities of the chip are. The GPU seems to implement almost the full GLES driver itself. As I recall, it iss compiling the shaders GPU side. That's some considerable general purpose computing hidden behind the wall.
- hermanhermitage 13y agoThere are two major programmable parts to the GPU - the Videocore CPU (VPU) and the shader processors (QPU). The VPU is dual core with a 16 way SIMD integer unit with a 64x64 byte vector register file, and 32 register 32 bit scalar register file. Its accessible now, for instance see: https://github.com/hermanhermitage/videocoreiv/wiki/VideoCore-IV-Kernels-under-Linux https://github.com/hermanhermitage/videocoreiv/wiki/VideoCor... There are a few people targeting compilers and assemblers at the VPU. I think vbcc will probably come first, but I'm aware of people hacking on gcc and llvm. I generate all assembly from emit() calls in C, but I may publish a better assembler soon. The QPU work is not so advanced, but we actually have had a handle on the QPU instruction format for a while now, but we need more hands on deck to expose it in the open. There is also a challenge of hooking into the blob and dispatching QPU fragments. I would hope we have something working by the Q3. See https://github.com/hermanhermitage/videocoreiv/wiki/VideoCore-IV-3d-Graphics-Pipeline https://github.com/hermanhermitage/videocoreiv/wiki/VideoCor... for some preliminary background. The QPU instructions have 3 VLIW style slots - <fp-add; fp-mul; signal>. I'll push a qpu.arch when I get some time back on the raspberrypi.