[Mesa-dev] How to use pipe_swrast.so for rendering?

Chia-I Wu olvaffe at gmail.com
Sun Jan 30 05:57:52 PST 2011


On Sun, Jan 30, 2011 at 8:10 PM, Arthur Zhu
<xiaoxiaomuyusajiangtian at gmail.com> wrote:
> First of all, Thanks.
> I suppose the egl-drm will use /usr/lib/dri/* drivers, what does the
> pipe_swrast.so for? and why we can't use swrast with DRM?
> It seems drmdpy->event_handler->new_drm_screen at
> gallium/state_trackers/egl/drm/native_drm.c is just for it.
You are looking at the source code of egl_gallium.  It does not use
DRI drivers.  Its software rasterizer cannot be used with DRM because
it does not know how to allocate GEM objects.

With i915, you want egl_dri2.
>
> By the way,  configure.ac:
>         if test "$mesa_driver" = dri; then
>             # build egl_dri2 when xcb-dri2 is available
>             PKG_CHECK_MODULES([XCB_DRI2], [x11-xcb xcb-dri2 xcb-xfixes],
>                           [have_xcb_dri2=yes],[have_xcb_dri2=no])
>
> Would there need some kind of warnings about package missing or just don't
> check them up to users?
Yeah, something like --enable-egl-dri2 would be helpful.  Mind to work
on a patch?
> Best Regards,
> Arthur
>
>
> 2011/1/30 Chia-I Wu <olvaffe at gmail.com>
>>
>> On Sat, Jan 29, 2011 at 10:19 PM, Arthur Zhu
>> <xiaoxiaomuyusajiangtian at gmail.com> wrote:
>> >
>> > drmdpy->event_handler->new_drm_screen(&drmdpy->base, name, drmdpy->fd);
>> >
>> > Dose there have a chance to call new_sw_screen?
>> You cannot use swrast with DRM.  Judging by the log below, you have an
>> i915 card.  It is best supported by egl_dri2, which is not enabled in
>> your build.  You might want to make sure you have the necessary -dev
>> packages installed (xcb-dri2, xcb-fixes, and libudev) and rebuild
>> mesa.
>> > gallium/state_trackers/egl/drm/native_drm.c
>> >
>> > Thanks,
>> > Arthur
>> >
>> >
>> >
>> > wayland/compositor# ./compositor
>> > libEGL debug: added /usr/lib/egl/egl_gallium.so to module array
>> > libEGL debug: added /usr/lib/egl/egl_glx.so to module array
>> > libEGL debug: dlopen(/usr/lib/egl/egl_gallium.so)
>> > libEGL info: use DRM for display 0x5
>> > libEGL debug: searching for pipe module i915
>> > libEGL warning: failed to create DRM screen
>> > libEGL debug: EGL user error 0x3001 (other) in eglInitialize(no usable
>> > display)
>> >
>> > libEGL debug: dlopen(/usr/lib/egl/egl_glx.so)
>> > libEGL debug: EGL user error 0x3001 (other) in eglInitialize
>> >
>> > failed to initialize display
>> > GL User Error: calling GL function without a rendering context
>> > GL User Error: calling GL function without a rendering context
>> > GL User Error: calling GL function without a rendering context
>> > GL User Error: calling GL function without a rendering context
>> > GL User Error: calling GL function without a rendering context
>> > GL User Error: calling GL function without a rendering context
>> > libEGL debug: EGL user error 0x3001 (other) in eglCreateDRMImageMESA
>> >
>> > Segmentation fault
>> >
>> >
>> > _______________________________________________
>> > mesa-dev mailing list
>> > mesa-dev at lists.freedesktop.org
>> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>> >
>> >
>>
>>
>>
>> --
>> olv at LunarG.com
>
>



-- 
olv at LunarG.com


More information about the wayland-devel mailing list