View Single Post
Posts: 839 | Thanked: 3,386 times | Joined on Mar 2009
#1
I made version-0001 for open source 3d-graphics driver for N900. This is actually just template using Vincent software rasterizer, but at least there are now something. I have idea that next step is to start using hardware one function at a time, but I'm really in dead end and don't know how to do that.

Is reverse engineering needed in next step? How to start that? (Latest reverse engineered GPU took 4 months: https://gitorious.org/lima )
Is there any use of (GPL) kernel modules for omaplfb and pvrsrvkm (drivers/gpu/pvr)?


------------
Code:
git clone https://git.gitorious.org/vincent-n900/vincent-n900.git
cd vincent-n900/
./autogen.sh
./configure
make
rcp -r  .libs/*so* user@n900:vin
(Works with sb1 and sb2 (with gcc-4.2 and gcc-4.6)).

Roadmap/Checklist:
*Open source. OK
*Compilable. OK
*Produces libGLES_CM.so. OK
*Produces libEGL.so. OK
#Drop-in replacement for libraries on device (binaries using stock version, doesn't need recompilation). OK
*On real device can run NeheGles examples. OK
#...correctly. FAIL, minor glitches
#...fast. FAIL, damn slow
(it draws upside-down, but this is not critical on this moment)

*Replacement for libGLESv2.so. MISSING
---
Testing on device:
Code:
sudo apt-get install nehegles
cd /opt/nehegles
LD_LIBRARY_PATH=~/vin ./lesson02
Results with Nehe:
lesson-number (description) | fps with stock hardware driver : fps with Vincent (other issues)
02 (static image) | 91 : 29
03 (static image) | 91 : 31
04 (rotating shapes) | 91 : 42
05 (rotating objects) | 80 : 13 (cube flickers)
06 (rotating cube with texture) | 63 : 5
07 (cube with texture, rotated with arrows) | 72 : 11
08 (cube with texture, rotated with arrows) | 79 : 11
09 (flare-glare) | 30 : 2
10 (corridor walking) | 46 : 3 (glitches on roof)
11 (textured flag) | 45 : 3
12 (static multiple boxes) | 71 : 4
16 (fog, cube with texture, rotated with arrows) | 67 : 8 (minor glitches)
18 (drawing) | 74 : 13
19 (fireworks) | 26 : 2
20 (two moving layers, first one transparency) 20 : 0.6 (badly broken, first layer is small and second big)

Last edited by AapoRantalainen; 2012-02-20 at 09:20. Reason: git with https
 

The Following 17 Users Say Thank You to AapoRantalainen For This Useful Post: