Opened 12 years ago

Closed 12 years ago

#1193 closed bug (fixed)

haiku-openglkit-cvs package: Mesa Software Renderer add-on missing

Reported by: andybe Owned by: phoudoin
Priority: low Milestone: R1
Component: Kits/OpenGL Kit Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

Can not use the OpenGL Kit under R5, should be the same for dano and otheres, exclude haiku it self

Attachments (3)

glut.diff (443 bytes ) - added by andybe 12 years ago.
libGL.diff (493 bytes ) - added by andybe 12 years ago.
MesaSoftwareRenderer.diff (276 bytes ) - added by andybe 12 years ago.

Download all attachments as: .zip

Change History (18)

comment:1 by andybe, 12 years ago

forgotten to say, that it is not installed in /boot/home/config/lib

comment:2 by andybe, 12 years ago

No OpenGL Renderer available. That's it.

comment:3 by korli, 12 years ago

I don't feel it worths the effort. But maybe someone else ...

comment:4 by korli, 12 years ago

Priority: normallow
Type: bugenhancement

comment:5 by andybe, 12 years ago

Don't know how to fix that, but GLRosterRenderer give back NULL? Hm seams to be an other conzept normal fall back is always a new software gl, as it does on haiku?

would be nice if you can fix that with _R5_ or so. Many thanks at all.

comment:6 by andybe, 12 years ago

ok, I found it

add-on/opengl/Mesa Software Render is missing by building this package.

The headers from Kits/opengl/GL got are from Mesa 6.3 and as I can see we are include the "glut" library in libGL.so. That isn't to hard, but normal it is seperated in libglut.so. That's why our libGL.so is 1MB big.

Don't know about me. Should'nt it be better to splitte glut out of libGL.so as other does it also (BeOS, MacOSX, Linux).

Thanks for listening.

by andybe, 12 years ago

Attachment: glut.diff added

by andybe, 12 years ago

Attachment: libGL.diff added

by andybe, 12 years ago

Attachment: MesaSoftwareRenderer.diff added

comment:7 by andybe, 12 years ago

Another Question why inlcude mesa.a when driver is allready linked to libGL.so, that includes mesa?

comment:8 by andybe, 12 years ago

ok forget about the question before. Sorry for diffs. Must take time to do better diffs against the svn tree. (Must read up, but no time today - hope in end of this week).

There is another problem. On R5 when I closing the glteapot I can see: closing, but it doesn't releasy it self. If I got time I looking at it. Some Resource are not realy closed. Without a Terminal I must shoot up the glteapot tread, to get closed.

in reply to:  6 comment:9 by phoudoin, 12 years ago

Replying to andybe:

add-on/opengl/Mesa Software Render is missing by building this package.

I'm guilty there. I'll fix its Jamfile for that. I always forgot about factory package!

The headers from Kits/opengl/GL got are from Mesa 6.3 and as I can see we are include the "glut" library in libGL.so. That isn't to hard, but normal it is seperated in libglut.so. That's why our libGL.so is 1MB big.

Don't know about me. Should'nt it be better to splitte glut out of libGL.so as other does it also (BeOS, MacOSX, Linux).

Well, we've debated about this choice a little bit and decided to avoid libs bloating, following the BeOS way (it's libbe.so, not libapp.so + libinterface.so + ...). Like for our Haiku's specific libnetwork.so, which replace both BONE's libsocket.so, libbind.so and libbnetapi.so, but provides them for compatibility sake as symlinks to the single .so, we could do the same and provides a libglut.so symlink to the single libGL.so.

In the ends, only libGL.so page of code are loaded in memory, and embedded vs separate GLUT code wont make a difference there. Meanwhile, the library directories will looks less bloated.

in reply to:  7 comment:10 by phoudoin, 12 years ago

Replying to andybe:

Another Question why inlcude mesa.a when driver is allready linked to libGL.so, that includes mesa?

Mesa is not "included" in libGL.so. We link libGL.so with mesa.a because we use the Mesa OpenGL API dispatching sub-system and only that. As Mesa is build as a static library for renderer add-ons needs, we link with it too. But as the linker will only needs to resolve _glapi_* symbols, only these will be taken from mesa.a. You will find no Mesa's rendering code in our libGL.so.

However, drivers/renderer add-ons that rely on Mesa software/fallback rendering code needs to be linked against it. The obvious one is our Mesa Software Renderer, which only add the thin GLRenderer class over it to interface the add-on with the library.

Hope this make things clearer on that topic.

comment:11 by phoudoin, 12 years ago

Owner: changed from korli to phoudoin
Status: newassigned
Summary: Build for R5 haiku-openglkit-cvs - No OpenGL Rendererhaiku-openglkit-cvs package: Mesa Software Renderer add-on missing
Type: enhancementbug

comment:12 by phoudoin, 12 years ago

I've applied MesaSoftwareRenderer.diff. Still needs to add a libglut.so symlink to the haiku image (what about the opengl factory package?). Then, this ticket could be closed.

in reply to:  8 comment:13 by phoudoin, 12 years ago

Replying to andybe:

There is another problem. On R5 when I closing the glteapot I can see: closing, but it doesn't releasy it self. If I got time I looking at it. Some Resource are not realy closed. Without a Terminal I must shoot up the glteapot tread, to get closed.

I can reproduce it sometimes indeed, even under R5/BONE. But this issue deserves its own ticket.

comment:14 by andybe, 12 years ago

I think the ticket can be closed. the package build are fixed.

  1. I think the running thread in BeOS in the MesaSoftwareRendere isn't closed, that could be the problem in R5.
  2. Haiku isn't finished, means isn't working like R5 this time.
  3. - libglut.so linked - ok. why not.

I got the mails; - got it in mind, but this time I'm not able to look into it. To many things at this time to learn at school. I will make a new ticket, if i find to fix it under R5 / Haiku. If other find it it would be fine also.

Thank you all.

comment:15 by phoudoin, 12 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.