[Mesa-users] mesa3d with llvm support

Muthukumar S muthu.smk at gmail.com
Wed Jan 12 02:25:40 PST 2011


Hi All,

Thanks for your reply,

I tried as u said by giving the GALLIUM_DRIVER as softpipe and now glxgears
was working fine.As u said the problem is in gallium driver .

Now again i tried by setting GALLIUM_DRIVER=llvmpipe ,and i try to run
"glxgears" from opengles1 sample but its getting crashed inside the gallium
llvmpipe driver.
I just given some prints in the "lp_state_vertex.c" which resides inside
"mesa-master/src/gallium/drivers/llvmpipe"
Iam not sure why its crashing in the llvm pipe.
once again iam informing that my intension is to run any of the
opengl/opengles application with gallium mesa3d with llvm support and check
the
performance in linux (fedora 11).

*NOTE : *LLVM libraries used to compile gallium mesa 3d
: clang_llvm-2.7-i686-linux

*Mesa Version : Mesa 7.10.0*

  $ ./configure --enable-debug --enable-gles1 --enable-gles2
--enable-gallium-svga --enable-gallium-i915 --enable-gallium-i965
--enable-gallium-llvm --disable-glut --with-dri-drivers=
--disable-gallium-radeon --enable-gles-overlay
--with-state-trackers=egl,vega

*These are my export variables*.:
--------------------------------------------------

export
LD_LIBRARY_PATH="/home/muthu/work/game/gallium/mesa-master-llvm-gcc-egl/lib"
export EGL_LOG_LEVEL="debug"
export GALLIUM_DRIVER="llvmpipe"
export
EGL_DRIVERS_PATH="/home/muthu/work/game/gallium/mesa-master-llvm-gcc-egl/lib/egl/"


*Here iam sending the log messages.*
------------------------------------------------------------

[muthu at localhost opengles1]$ ./gears_x11
libEGL debug: EGL search path is /usr/local/lib/egl
libEGL debug: added /usr/local/lib/egl/egl_gallium.so to module array
libEGL debug: added /usr/local/lib/egl/egl_glx.so to module array
libEGL debug: dlopen(/usr/local/lib/egl/egl_gallium.so)
libEGL info: use X11 for display 0x871f008
libEGL debug: searching for pipe module i915
libEGL warning: failed to create DRM screen
libEGL warning: use software fallback
libEGL debug: searching for pipe module swrast
libEGL debug: loaded /usr/local/lib/egl/pipe_swrast.so
libEGL debug: the best driver is Gallium (score 100)
EGL_VERSION = 1.4 (Gallium)
libEGL debug: the value (0x0) of attribute 0x3025 did not meet the criteria
(0x1)
libEGL debug: the value (0x0) of attribute 0x3025 did not meet the criteria
(0x1)
libEGL debug: the value (0x0) of attribute 0x3025 did not meet the criteria
(0x1)
libEGL debug: the value (0x0) of attribute 0x3025 did not meet the criteria
(0x1)
libEGL debug: the value (0x0) of attribute 0x3025 did not meet the criteria
(0x1)
libEGL debug: the value (0x0) of attribute 0x3025 did not meet the criteria
(0x1)
libEGL debug: the value (0x0) of attribute 0x3025 did not meet the criteria
(0x1)
...
...
...
libEGL debug: loaded /usr/local/lib/egl/st_GLESv1_CM.so
[MUTHU][114][llvmpipe_init_vertex_funcs][lp_state_vertex.c]
[MUTHU][83][llvmpipe_set_vertex_buffers][lp_state_vertex.c]
[MUTHU][44][llvmpipe_create_vertex_elements_state][lp_state_vertex.c]
[MUTHU][61][llvmpipe_bind_vertex_elements_state][lp_state_vertex.c]
[MUTHU][102][llvmpipe_set_index_buffer][lp_state_vertex.c]
Segmentation fault

*Here iam sending gdb back trace:*
------------------------------------------------------
255      clipped = fpme->current_variant->jit_func_elts(
&fpme->llvm->jit_context,
(gdb) s

Program received signal SIGSEGV, Segmentation fault.
0x00200539 in draw_llvm_shader_elts ()
(gdb) bt
#0  0x00200539 in draw_llvm_shader_elts ()
#1  0x0104eae9 in llvm_pipeline_generic () at
draw_pt_fetch_shade_pipeline_llvm.c:255
#2  0x0104e88e in llvm_middle_end_run () at
draw_pt_fetch_shade_pipeline_llvm.c:337
#3  0x01007c42 in vsplit_flush_cache () at draw_pt_vsplit.c:77
#4  vsplit_segment_cache_ushort () at draw_pt_vsplit.c:173
#5  0x01006373 in vsplit_segment_simple_ushort ()
    at
/home/muthu/work/game/gallium/mesa-master-llvm-gcc-egl/src/gallium/auxiliary/draw/draw_pt_vsplit_tmp.h:182
#6  vsplit_run_ushort () at draw_pt_vsplit.c:111
#7  0x01001439 in draw_pt_arrays () at draw_pt.c:113
#8  0x0100174a in draw_vbo () at draw_pt.c:481
#9  0x00fd3068 in llvmpipe_draw_vbo () at lp_draw_arrays.c:81
#10 0x009986d4 in st_draw_vbo () at st_draw.c:732
#11 0x00995610 in vbo_validated_drawrangeelements () at vbo_exec_array.c:793
#12 0x0099428e in vbo_exec_DrawElements () at vbo_exec_array.c:947
#13 0x0804a299 in draw_gear () at gears.c:219
#14 0x0804a004 in gears_draw () at gears.c:268
#15 0x0804add3 in next_event () at eglut_x11.c:248
#16 _eglutNativeEventLoop () at eglut_x11.c:242
#17 0x08049639 in main () at gears.c:378

It seems the function "draw_llvm_shader_elts() is getting crashed.


can any one help me to fix out this issue.

Thanks
Muthukumar



On Tue, Jan 11, 2011 at 9:15 PM, Chia-I Wu <olvaffe at gmail.com> wrote:

> On Tue, Jan 11, 2011 at 10:00 PM, Muthukumar <muthu.smk at gmail.com> wrote:
> > Iam working in fc-11 ,and i try to compile and run gallium mesa3d with
> llvm
> > support .But i am getting some error while i try to run the opengl or
> opengles
> > application. Can any one suggest me fix the issue .My intension is to run
> any of
> > the opengl/opengles application with gallium mesa3d with llvm support and
> check
> > the performance in linux (fedora 11).
> >
> > Here the configuration option of gallium mesa3d source
> > ./configure --enable-debug --enable-gles1 --enable-gles2
> --enable-gallium-egl --
> > enable-gallium-llvm --disable-glut --with-dri-drivers=i915
> --disable-gallium-
> > radeon --enable-gles-overlay
> >
> >
> > config.status: executing configs commands
> >
> >        prefix:          /usr/local
> >        exec_prefix:     ${prefix}
> >        libdir:          ${exec_prefix}/lib
> >        includedir:      ${prefix}/include
> >
> >        OpenGL:          yes (ES1: yes ES2: yes)
> >        GLES overlay:    yes
> >        OpenVG:          no
> >
> >        Driver:          dri
> >        OSMesa:          no
> >        DRI drivers:     i915
> >        DRI driver dir:  ${libdir}/dri
> >        Use XCB:         no
> >
> >        GLU:             yes
> >        GLw:             yes (Motif: no)
> >        glut:            no
> >
> >        EGL:             yes
> >        EGL platforms:   x11 drm
> >        EGL drivers:     egl_glx egl_gallium
> >        EGL Gallium STs: $(GL_LIB) $(GLESv1_CM_LIB) $(GLESv2_LIB)
> >
> >        llvm:            yes
> >        llvm-config:
> /home/muthu/work/clang_llvm-2.7-i686-linux/bin/llvm-
> > config
> >        llvm-version:    2.7
> >
> >        Gallium:         yes
> >        Gallium dirs:    auxiliary drivers state_trackers
> >        Target dirs:      egl dri-swrast
> >        Winsys dirs:     sw sw/xlib sw/dri i915/sw
> >        Driver dirs:     softpipe failover galahad trace rbug identity
> llvmpipe
> > svga i915 i965
> >        Trackers dirs:   dri egl
> >
> >        Shared libs:     yes
> >        Static libs:     no
> >
> >        CFLAGS:          -g -O2 -Wall -Wmissing-prototypes -std=c99
> -ffast-math
> > -fvisibility=hidden -fno-strict-aliasing -g -fPIC
> >        CXXFLAGS:        -g -O2 -Wall -fvisibility=hidden
> -fno-strict-aliasing -
> > g -fPIC
> >        Macros:          -D_GNU_SOURCE -DPTHREADS -DDEBUG
> -DHAVE_POSIX_MEMALIGN
> > -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -
> > DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DGALLIUM_LLVMPIPE
> -D__STDC_CONSTANT_MACROS
> > -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM
> >
> >        PYTHON2:         python2
> >
> >        Run 'gmake' to build Mesa
> >
> >
> > and i have downloaded the "demo-master" (test apps) source and i compiled
> this
> > apps with the above compiled libraries.
> > If i try to run "gears_xll" or any other opengles apps iam getting the
> following
> > error with segmentation fault ,I debug it ,the control is going in to
> llvm pipe
> > and then getting crashed with seg fault. before running the application i
> have
> > set the following environment variables.
> >
> > export
> LD_LIBRARY_PATH="/home/muthu/work/game/gallium/mesa-master-llvm-gcc-
> > egl/lib"
> > export EGL_PLATFORM="dri"
> There is no need to set EGL_PLATFORM in this case and generally.
> "dri" is also an invalid value.
> > export
> LIBGL_DRIVERs_PATH="/home/muthu/work/game/gallium/mesa-master-llvm-gcc-
> > egl/lib/gallium/"
> Without
>
>  $ export
> EGL_DRIVERS_PATH="/home/muthu/work/game/gallium/mesa-master-llvm-gcc-egl/lib/egl/"
>
> it is likely that the wrong driver is loaded.  You can set
> EGL_LOG_LEVEL=debug to see which module is dlopen()ed; if you suspect
> the crash is in llvmpipe, you may set GALLIUM_DRIVER=softpipe to see
> if it still crashes.  Either way, a gdb backtrace is helpful.
>
> >
> >
> > # ./gears_x11
> > libEGL warning: failed to create DRM screen
> > libEGL warning: use software fallback
> > EGL_VERSION = 1.4 (Gallium)
> > Segmentation fault
> > [muthu at localhost opengles1]$ ./gears_x11
> > libEGL warning: failed to create DRM screen
> > libEGL warning: use software fallback
> > EGL_VERSION = 1.4 (Gallium)
> > Segmentation fault
> >
> >
> > Can any one suggest me fix the above issue .My intension is to run any of
> the
> > opengl/opengles application with gallium mesa3d with llvm support and
> check the
> > performance in linux (fedora 11).
> >
> > Thanks in advance.
> >
> >
> > _______________________________________________
> > mesa-users mailing list
> > mesa-users at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/mesa-users
> >
>
>
>
> --
> olv at LunarG.com
>



-- 
Anbudan
S.Muthukumar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-users/attachments/20110112/40cc26cb/attachment-0001.htm>


More information about the mesa-users mailing list