@austriancoder Wow, great to hear! Although I do not understand all the technical details of what you are working on, I'm following your work with high interest. And I'm not the only one :-)

https://forums.puri.sm/t/gles-3-0-for-librem-5/23919

#etnaviv #mesa3d #Librem5 #mntreform #gpu #opensource #mobilelinux #FOSS

GLES 3.0 for Librem 5

I just created this thread to track GLES3.0 development for Librem 5. Christian Gmeiner Hi @austriancoder any news for GLES3.0 for Free Software Etnaviv driver for Librem 5 GPU? Thank you.

Purism community

I am transforming a ~7month old wip branch into something upstream-able. Lot more GLES3 tests are passing with these commits. But I need to spend some more hours to test 2-3 different GPU models, before I will create a MR.

#mesa3d #etnaviv #mntreform #librem5

dEQP-GLES31.functional.image_load_store.* 699/747 pass

With the help of some freshly reverse-engineered ISA opcodes :)

#etnaviv #mesa3d #rust #mntreform #librem5

dEQP-GLES3, old etnaviv compiler vs new one:

+6140 passes, −3004 crashes. 🚀

#etnaviv #mesa3d #rust #mntreform #librem5

I built infrastructure to validate ISA-specific behavior on hardware against a `Foldable` CPU reference - the idea is straight out of NAK by @gfxstrand . Write the per-opcode reference once, run a matrix of cells (src mods × swizzles × write masks) on the GPU and compare.

It saved me so much guesswork about how each ISA instruction behaves with input values and rounding modes - hello subnormal IEEE 754 pain.

I should have started this earlier.

#etnaviv #mesa3d #rust #mntreform #librem5

You've probably seen kmscube before - but every screenshot of it is a milestone someone reached. Last night I hit one of those moments, after many years (again).

For the past months I shifted focus away from GLES3 to some foundation work that had to be done.

On the photo: kmscube running on the long-in-development new compiler backend, used for both the vertex and fragment shader.

#etnaviv #mesa3d #rust #mntreform #librem5

When your newly written NIR pass causes an infinite optimization pass loop, you know it’s time to go to bed.

#mesa3d #etnaviv

subnormal IEEE 754 pain

#etnaviv #mesa3d

Yeah… cleaning up a long-lived git branch with more than 200 commits will take some time. There are reverts, hacks, and all sorts of fun issues.

Pro tip: don’t keep your feature branches alive for too long - in my case, 2 years. Catching up with upstream is painful.

#mesa3d #etnaviv

NXP has published their 6.18-based kernel tree and while browsing it I have noticed that they apparently found a way to support custom horizontal strides with mxsfb (by using some undocumented leftover IP for EPDC panels that imx8mq doesn't support). This may be interesting as it potentially opens a way to use linear PE in #etnaviv with the #Librem5's internal screen, so the GPU could render directly to the scanout surface without having to resolve its tiled buffer to linear afterwards. #imx8mq