[Mesa-dev] Mesa build fails with xlib/egl
Chia-I Wu
olvaffe at gmail.com
Tue Jul 13 02:43:47 PDT 2010
On Tue, Jul 13, 2010 at 4:25 PM, Lionel Landwerlin
<llandwerlin at gmail.com> wrote:
> On Tue, Jul 13, 2010 at 9:40 AM, Chia-I Wu <olvaffe at gmail.com> wrote:
>> On Sun, Jul 11, 2010 at 1:18 AM, Lionel Landwerlin
>> <llandwerlin at gmail.com> wrote:
>>> Thanks for your response, it worked well.
>>>
>>> I have another question but first I think I need to give some context.
>>>
>>> I'm trying to build an environment on my laptop which mimics what I'm
>>> going to use on an embedded target. What I expect to find on my embedded
>>> target is a closed source libGL (EGL + GLES2.0) which is bound to the
>>> linux frame buffer interface as native system. Hopefully I will have
>>> access to an SDK which permits to "repackage" the GL library so it will
>>> use x11 as native system.
>>> Also I'm planning to use an X11 compositor to render the different
>>> applications which run on the system, and also I expect applications to
>>> use OpenGL for whatever stuff they need.
>>>
>>> In this scenario, I understand that everyone (including the xserver)
>>> will use direct rendering (which means to me that no one is going to
>>> forward its GL commands to the xserver, but maybe did I misunderstood
>>> something).
>>>
>>> So my question is, how do I build such a system ? To be precise, what
>>> options should I give to the configure script of Mesa ?
>> If you are simulating the environment on your desktop, either egl_dri2 or
>> egl_gallium should satisfy your need. But you need to use a hardware driver.
>> Neither of the EGL drivers supports texture-from-pixmap with a software
>> rasterizer.
>
> Ok.
> But since I want to use a compositor, I need texture-from-pixmap...
> So this might require some modifications in mesa drivers and other
> libraries around.
> *What follows is crappy*
> My plan was to modify libdrm, so libdrm does not access the drivers
> anymore. Instead
> it will allocate buffers from some kind of server (hey looks like
> wayland?) which just mmaps
> buffers from files. So all clients/GL applications will be able to
> access buffers allocated by
> the X server.
> At the moment I don't understand the interactions between DRI2 and
> libdrm, so I don't yet
> understand how buffers can be accessed from clients. Although I
> understand how it works
> with DRI driver in Mesa.
> Does it make sense ?
An alternative is to call XGetImage when a pixmap is bound as a
texture. DRI swrast (dri_swrast.so) uses the same trick.
>>
>> Both drivers support EGL_KHR_image_pixmap for t-f-p. Only egl_dri2 supports
>> EGL_NOK_texture_from_pixmap. But it is trivial to add
>> EGL_NOK_texture_from_pixmap support to egl_gallium.
>>> Maybe am I wrong about this. Maybe indirect rendering will out perform
>>> direct rendering in such configuration, so anyone comments/advices on
>>> the subject are more than welcome.
>> EGL does not define a protocol for indirect rendering.
>
> Yes.
>
>>> Thanks again,
>>>
>>> --
>>> Lionel Landwerlin
>>>
>>>
>
--
olv at LunarG.com
More information about the mesa-dev
mailing list