Quake 3 Arena rendered with Etna OpenGL ES driver on the GCW Zero. Nice video. Props to qbertaddict.
As you may have noticed I recently pushed a new directory
utils to the etna_viv source repository. This directory contains various utilities related to the GPU and driver.
Some of these utilities are mostly useful for debugging the driver itself, others are also useful for optimization of applications using the driver. An overview follows.
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.