Vivante MMU v1

I did spend quite some time the last days to figure out how the MMU v1 could work and what all the code in the v4 Kernel sources does. It took quite some time and a little hint from Russel to finally understand it. So lets start with the technical details. The MMU uses a page table with a maximum size of 256KB. Where each Page Table Entry (PTE) is 4 byte long. The used page size is 4K and can not be changed via some registers etc. Lets have a look at the bit layout of a PTE. ...

May 3, 2014 · 1 min · Christian Gmeiner

QtCreator: ptrace operation not permitted

Today I wanted to debug a Qt based application within QtCreator but failed. After a quick google I found the solution: View the code on [Gist](https://gist.github.com/austriancoder/c2733a5ca5cfa9c23fe99c27811813d3).

March 17, 2014 · 1 min · Christian Gmeiner

The next steps for etnaviv

I did spend some time to find the cause for the rendering issues during running some egls2 demos. The fix is a simple one-liner and I would say that GC8xx and GC2000 are ‘equal’ now. That means general work on etnaviv can start now. Currently I am looking in different problem zones and where to start. Update mesa fork Start working on an improved compiler Start working on an kernel interface I think that Rob will start soon on the kernel interface and the mesa update should be doable during some hours. So I think the next big and important step is to improve the compiler. What should I say… I have basic compiler understanding, did wrote a compiler and VM during my study… thats it. I have never written a single line of glsl and I do not completely understand the Vivante GPU. So a perfect starting point for doing some hacking 🙂 The success rate will be quite low and I hope to not lose my motivation too soon.

February 22, 2014 · 1 min · Christian Gmeiner

GitHub: How to download a change as patch

Sometimes I can be useful to download a changes contained in a Github pull request as a unified diff. It turns out to be very easy. To view a commit as a diff/patch file, just add .diff or .patch to the end of the URL For instance

February 20, 2014 · 1 min · Christian Gmeiner

Mesa meets GC2000

Here is the first result of running mesatest_gles on mesa&etna: Following tests are showing good visual results compared to swrast: Hello_Triangle/CH02_HelloTriangle Simple_VertexShader/CH08_SimpleVertexShader CubeVBO/cube_vbo ParticleSystem/CH13_ParticleSystem Viewports/viewports All other are visual corrupted or segfault. So there is still some work done to get all demos up and running.

February 15, 2014 · 1 min · Christian Gmeiner