On 23/11/2007, Stefan Dösinger stefan@codeweavers.com wrote:
Am Freitag, 23. November 2007 12:25:34 schrieb H. Verbeet:
Just to add something to that, most of the issues that are there are with older versions of Direct3D and fixed function. The more modern functionality is relatively easier to translate because D3D and GL simply expose the programmability of the hardware.
Not quite, there are a few issues at shader level as well. One issue that comes to my mind are the 10 varyings vs 8+2 colors in opengl. It is a driver limitation actually, but encouraged by the GLSL spec. An architectural problem is that OpenGL does not support an up to date assemler shader interface. And all shaders are compiled and linked at runtime, causing a short rendering freeze whenever a new shader is used.
Well, sure there are issues, but generally those are easier to fix than in fixed function. I don't consider the lack of an asm interface much of an issue... it wouldn't correspond directly to the hardware anyway (and neither does d3d shader asm). Linking time *is* an issue, but I suspect GL3 will help a bit there.
It may be useful contacting the nouveau (open source NVidia 3D driver reverse engineering project) development team to see if they can add OpenGL extensions for DirectX functionality.
This sounds like a nice idea, but in reality we've been talking about getting various X11 or opengl extensions added to $SOFTWARE and it never happened.
It would probably have to wait until nouveau actually properly supports 3D.