[Mesa-users] Switch OSMesa/implementation at runtime

Ardillas del Monte ardillasdelmonte at gmail.com
Tue Oct 8 05:17:01 PDT 2013


On Mon, Oct 7, 2013 at 8:44 PM, Brian Paul <brianp at vmware.com> wrote:

> On 10/06/2013 04:34 AM, Ardillas del Monte wrote:
>
>> Hi,
>>
>> I'm planning a system which would need to use the (non-Mesa) system
>> implementation at some times, and OSMesa at other times (by "system
>> implementation" I mean whatever -commercial- system driver has the user
>> installed as provided by the hardware vendor of their graphics hardware).
>>
>> The reason for this is that I need to render with floating point color
>> (in software) sometimes, while rendering the same scene at lower quality
>> and the fastest hardware-accelerated performance at other times.
>>
>> I've thought some possibilities for doing this. The one I thought as
>> most realistic would be to put the Mesa implementation inside a C++
>> namespace, and render OpenGL through a C++ object: if you select the
>> OSMesa object, commands are sent to the Mesa namespace, and if you
>> select the system object, commands are sent raw, with no namespace, to
>> the system OpenGL driver.
>>
>> However, I don't know if there would be some approach more practical
>> than this, and moreover, maybe I'm ignoring some problem or issue I
>> might face with the namespace idea.
>>
>> This software would need to run on OSX, Linux, and Windows, so I need
>> either an approach which would work on all these OSs, or a different
>> approach for each OS.
>>
>> I'll appreciate any ideas or suggestions you might have.
>>
>>
> Other people have done this.  I think the usual approach is to build
> Mesa/OSMesa with name "mangling" then add a layer to your app to choose
> between the normal "glFoo" function and the mangled "mglFoo" functions at
> runtime.
>
> Basically, if you build mesa with --enable-mangling all the GL entrypoints
> with "mgl" prefixes instead of "gl".  You'll also want --enable-osmesa or
> --enable-gallium-osmesa
>
> -Brian
>
>
Thanks a lot!! Very good advice!

Ardi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-users/attachments/20131008/544cf031/attachment.html>


More information about the mesa-users mailing list