If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

OpenGL 2.x support with open source?

03-08-2008, 04:20 AM

I've been testing out the latest open source drivers and mesa component and was wondering about OpenGL 2.x support. Please correct me if I'm wrong, but it seems that only OpenGL 1.3 is implemented. This isn't much of an issue in native OpenGL apps with sane fallbacks, but WINE seems to use 2.x features indiscriminantly when implementing DirectX, even older DirextX 7 and 8 commands.

I was wondering if my understanding is right, and if OpenGL 2.x is on the roadmap.

I've been testing out the latest open source drivers and mesa component and was wondering about OpenGL 2.x support. Please correct me if I'm wrong, but it seems that only OpenGL 1.3 is implemented. This isn't much of an issue in native OpenGL apps with sane fallbacks, but WINE seems to use 2.x features indiscriminantly when implementing DirectX, even older DirextX 7 and 8 commands.

I was wondering if my understanding is right, and if OpenGL 2.x is on the roadmap.

Thanks in advance and for all the hard work.

OpenGL 2 is on the roadmap but it won't happen without proper memory management as from my memory GL 2 needs some extension which are painfull to support without that. So i guess not until you see some gallium driver floating around likely at end of this year.

Comment

Thanks for the quick replies. I agree that Galium, TTM, etc. is more important than OpenGL 2.x support. To be honest though, I thought that those things would start showing up a bit earlier, but you guys would know much better than me.

I'm not complaining, and am sure after watching the FOSDEM videos that Gallium is a good way to get all the nice shinny stuff we want out of the Linux / OSS desktop.

Just since I have your ear... care to take a look at this: http://www.phoronix.com/forums/showthread.php?t=8226 In case this is a new or important issue. Since the previous posts in this thread makes it seem like the mesa work is going to be minimal and not adding new features (and thus I have no real motivation to use mesa git), if that issue is specific to me / something already on the todo list I 'll just wait it out and won't waste your time.

Comment

Thanks again. Since there are posts in the other thread, I'll respond there.

One final issue about OpenGL 2.x. If I understand correctly, we can get into the situation where some drivers support 2.x, but others do not with the current mesa architecture, since each driver must implement much of OpenGL independently. However, with Gallium, this shouldn't happen as much of the OpenGL implementation is the same for all cards.

Comment

Thanks again. Since there are posts in the other thread, I'll respond there.

One final issue about OpenGL 2.x. If I understand correctly, we can get into the situation where some drivers support 2.x, but others do not with the current mesa architecture, since each driver must implement much of OpenGL independently. However, with Gallium, this shouldn't happen as much of the OpenGL implementation is the same for all cards.

Well not exactly, there is still a lot of driver specific stuff in gallium. But in the same time gallium requirement is pretty much GL 2. And no you don't need to implement much of opengl independently in mesa, you just need to advertise a set of extensions and according entry point for all the extensions. If this set is what required to be GL 2 then mesa advertise GL2 otherwise mesa advertise the highest GL version corresponding to the set of exposed extensions. Note this is a simplification as GLX is part of the party too and GL 2 likely have a GLX version requirement. Long time i haven't looked into GLX but i guess that we don't advertise newer GLX as we likely need the memory manager for doing so in a sane way.