All the MSAA (Multi-sampling anti-aliasing) crash bugs appear to have been resolved, and every game I tried it with works! As the GCW Zero has a 320 by 240 screen, it is a prime candidate for anti-aliasing.
The etnaviv mesa driver is coming along nicely… (thanks to zear for the glquake screenshots)
Good news everyone! The TGSI to Vivante ISA shader compiler has been pushed.
As a GPGPU aficionado, I am pretty excited to be able to run OpenCL on a small, low-power device. While playing around with it I wrote down some notes and performance tips.
The etna_viv repository has been a bit silent for the last few days. This certainly does not mean that I stopped working on it, but I had to do some other things first to be able to proceed with development.
I finally got around to playing a bit with the GPU on my GK802. By comparing the command streams of GLES2 demos I've tried to write down the largest differences between the GC2000 and GC800, from the viewpoint of driver implementation.
- Hierarchical depth: GC2000 supports a new mode for the depth buffer, representing the depth buffer in a hierarchical way. In this mode multiple buffers are being allocated for one depth surface. In general the purpose of hierarchical depth is to be able to reject fragments quickly by aggregating the minimum value of a tile of depth buffer values at incrementally lower resolutions. In the literature various mechanisms for hierarchical Z have been described (see for example greene93), which one is implemented by Vivante is an open question.
- Another open question is whether non-hierarchical depth is still supported. I assume so, but we will only know for sure after some experimentation.
Woohoo, the well known
glxgears demo is now available for etnaviv. I ported it from egl2gears.
This post describes the only part of etna_pipe API that is not yet equal or at least analogous to Gallium. Etnaviv does not yet have a GLSL shader compiler (or TGSI converter). Until then, shaders can only be compiled from native assembly.