Software Implemntation

Hello,

Is there an implementation/driver that supports software fallback whenever a feature not part of the specified core version is not present? This way I can make sure my program will run even if the hardware or drivers dont support the required version.

Is Mesa3D the way to go?

Thanks.

Is there an implementation/driver that supports software fallback whenever a feature not part of the specified core version is not present?

With the exception of GLSL and the implementation-dependent limits, OpenGL implementations are required to do whatever you tell them, whether hardware or software. So if some spec-defined behavior fails, it’s a driver bug.

What feature are you talking about? Imaging subset?

Is Mesa3D the way to go?

I don’t know. Is there anything other then Mesa and that offers a GL API at the same time?

The Mesa3D software renderer is ridiculously slow and therefore unusable.

Still, it’s better than Microsoft’s dreaded GDI software renderer. :wink:

Mesa3D with the new Gallium3D softpipe driver should be quite a bit faster than the current implementation. The whole stack is undergoing some significant improvements and should become quite usable during in 2010 (with OpenGL 3.0+ support and several new APIs like OpenCL, OpenVG, …)

Besides, what’s the alternative?

I meant swrast (in the src/mesa tree), which is the default software driver, not softpipe.

Concerning Gallium3D, as far as I know, the softpipe driver will stay as it is: a slow reference rasterizer. However, they are planning to add another pipe driver that will be optimized for performance and to scale well on multi-core CPUs (I guess the proposed name was llvmpipe, but I am not sure).