To clear up a lot of misunderstandings here in the thread...
First, OpenGL 3.0 is a problematic beast due to the different profiles. Any driver supporting OpenGL 3.0 must actually support all the legacy features as well, and it would therefore be insane not to base them on Mesa. Therefore:
Since Ian's work contains the core Mesa support, which is in turn used by the Mesa/OpenGL state tracker, this is definitely *not* wasted work.
For OpenGL 3.2 core mode, it would be cleaner and more efficient (from a run-time performance point of view; from a development point of view it would be very inefficient) to have an entirely fresh restart and a non-Mesa based state tracker.
Unfortunately, such a state tracker would obviously not be able to support legacy features; not a big problem if applications weren't expecting those features, but I'm afraid NVidia will set (or has already set) a precedent even on Linux in supporting OpenGL 3.2 with the full backwards compatibility, so applications will expect this full compatibility and so our drivers will have to support it and so we will be back where we started: at a 3.x capable state tracker based on Mesa; and therefore, Mesa needs those extensions.
Uhh... no? Where did you get that idea?
First, OpenGL 3.0 is a problematic beast due to the different profiles. Any driver supporting OpenGL 3.0 must actually support all the legacy features as well, and it would therefore be insane not to base them on Mesa. Therefore:
Originally posted by timofonic
View Post
For OpenGL 3.2 core mode, it would be cleaner and more efficient (from a run-time performance point of view; from a development point of view it would be very inefficient) to have an entirely fresh restart and a non-Mesa based state tracker.
Unfortunately, such a state tracker would obviously not be able to support legacy features; not a big problem if applications weren't expecting those features, but I'm afraid NVidia will set (or has already set) a precedent even on Linux in supporting OpenGL 3.2 with the full backwards compatibility, so applications will expect this full compatibility and so our drivers will have to support it and so we will be back where we started: at a 3.x capable state tracker based on Mesa; and therefore, Mesa needs those extensions.
Developing 3.x state trackers in Mesa seems like a tremendous duplication of effort, considering Gallium already has them.
Comment