Login

logo6


Haikuware News & Blogs

Spread your news, software reviews, comments, & ideas about Haiku!

Mesa / Gallium Status update #3 1/14/2012

kallisti5
kallisti5
kallisti5 has not set their biography yet
User is currently offline
Jan 14 MyBlog 6 Comments

I've made a lot of progress over the last few weeks, here is the latest statuses layed over the bullet points posted here.

 

Update Mesa3D / aka Gallium3D to current and work on getting changes accepted in Mesa upstream

This is 99% done.  The latest Mesa upstream now compiles under Haiku gcc4 with a patched makefile. I am working on getting a scons build script working. scons is the build system Mesa seems to be moving to, and they voiced in the ML that would perfer to not accept new Makefiles. There is a scons port on haikuports, so this shouldn't be a big deal.

Get stock Mesa3D into the build system somehow so it is pulled / extracted prior to compiling opengl kit


I am glad to confirm this is 100% done. (yay!)  Right now the Haiku build system pulls external pacakges for Mesa, and compiles using them.

  • Haiku gcc2
    The Haiku GCC2 images pull a compiled Mesa 7.8.2 Optional Package.  I went with 7.8.2 because this is the *very* last upstream version of Mesa I could get to compile without Haiku keeping a complete fork.  After 7.8.2, glsl was introduced which is C++ and is *not* gcc2 friendly.
  • Haiku gcc4
    The Haiku GCC4 images pull a compiled Mesa 8.0 Optional Package.  Upstream Mesa has accepted several Haiku patches and I am happy to report it looks like Mesa 8.0 should build under Haiku with very little assistance.
The new build system pulls in the Optional Mesa package from a remote server and uses the combined binaries and headers to generate libGL (via the Haiku OpenGL kit)
 
Relevant commits include hrev43650 (the "big" one), hrev43651, hrev43652, hrev43655, hrev43656, hrev43657
 
Haiku pretty much keeps it's own fork of GLUT at the moment as glut is no longer actively developed by Mesa.  Glut was (and is) pretty big in the BeOS / Haiku world, so keeping our own fork of it makes sense. (it's also a small project code wise)  Glut was moved from src/lib/mesa/glut to src/lib/glut while I was removing the mesa files from src/lib/mesa

Ensure new Mesa3D based opengl kit works and software rendering occurs (this gets us back to square one with the new Mesa version compiled from upstream.)

This is mostly complete. I am not going to accept the first portion of the bounty however until things are 100% what they were...  there are a few quirks in GL rendering I want to address before calling this one done...

  • GLTeapot 's handle and spout have some odd depth issues... unsure if this is due to GLTeapot being old code, or if it is due to the Mesa software rendering driver.
  • Haiku3d has some instances of leaving a trail. (see http://twitpic.com/85vthm)  I do have reports it is working 100% for other people however on 32bpp.. so  I think it's a color space issue.
  • Right now we only do single buffer rendering, double buffer causes crashing of GL apps.
  • The Teapot flashes red when you mouse over it.. this may be related to the single buffering, I am not sure however.
I have seen teapot spinning at 300-400fps on decent hardware and ~ 16fps in the lowest qemu.. I'm pretty sure thats faster then it was, I don't have data to confirm however. Things are stable, and GLteapot has run for multiple days at a time without leaking any noticable memory.

Get at least one Gallium3D Hardware driver working / rendering.

Not started yet, the door is now open as we have stock Mesa running. Right now we are using what Mesa calls their "Software rasterization" engine.  I am planning on checking out what others have done in the past for Gallium3D software pipe rendering... it would be a good spot to start.

Get two Gallium3D Hardware drivers working / rendering.

Lets get one working first :)

 

Thats all for now, thanks for the support everyone one who has helped thus far... and a big thank you to the Mesa project folks for putting up with me and my Haiku patches :D

-- Alexander von Gluck

Tags: Mesa, Haiku
Hits: 369
3 votes

About the author

Trackbacks

Trackback URL for this blog entry

Comments  

 
+2 # RE: Mesa / Gallium Status update #3 1/14/2012Disreali 2012-01-15 11:24
YAY!!

Thanks Alex. This is excellent news. Can't wait to test some games.
 
 
+2 # RE: Mesa / Gallium Status update #3 1/14/2012cipri 2012-01-15 14:48
just fenomenal. Such a fast progress i guess nobody had expected. my respect.
 
 
+2 # RE: Mesa / Gallium Status update #3 1/14/2012phoudoin 2012-01-17 04:22
The GLTeapot depth/color issues seems related to wrong buffers being used.
When the mouse is over, the full flat red teapot means that the stencil buffer content is somehow accessed as the color buffer.
As the depth buffer seems wrong too, I suspect that the renderer buffers are not set as they should be yet.
Or buffer format is not what it should be.

Otherwise, it's looking promising.
 
 
+2 # RE: Mesa / Gallium Status update #3 1/14/2012BrunoBratwurst 2012-01-17 06:46
good news good progress...

my teapot is still spinning at 300fps as before on my notebook and a bit slower on my P4 at 130 was at 170 before

thx great to see so fast resutlts
 
 
0 # RE: Mesa / Gallium Status update #3 1/14/2012michaelvoliveira 2012-01-17 18:59
Yeah! great progress here!! :D

Go Alex!!
 
 
0 # RE: Mesa / Gallium Status update #3 1/14/2012BrunoBratwurst 2012-01-27 13:56
I just tried the nightly gcc4 haybrid and got the teapot spinning around 100fps now... before it was 130 with my P4 3000MHz.
 


Please register to post comments

The Largest BeOS/Haiku Software Repository