[Mesa-dev] Performance difference between driver egl_glx and egl_gallium

Yannick Meyer y.meyer26 at gmail.com
Fri Feb 22 04:00:08 PST 2013


2013/2/22 Michel Dänzer <michel at daenzer.net>

> On Don, 2013-02-21 at 16:41 +0100, Yannick Meyer wrote:
> > Hi all,
> >
> > I am currently wondering why I have a big difference in performance
> > between 2 Mesa drivers: egl_glx and egl_gallium.
> > I have already posted a mesasge 2 weeks ago on the mesa user list, but
> > I did not receive any answer. Please find below my previous mail
> >
> > I am currently working on an ARM processor without graphical
> > acceleration (based on A5 without any GPU and neon instruction).
> > I used Open Embedded to build the distribution for my board, and
> > therefore Mesa was compiled with the whole system for the ARM board.
> >
> > I made some test performance using egl_gears to find the best
> > configuration of the EGL library.
> > I am surprised by the difference between egl_glx and egl_gallium
> > driver.
> >
> > I was expecting that the egl_gallium driver will be faster that the
> > egl_glx driver. The egl_glx driver is around 9-10 times faster than
> > egl_gallium.
> >
> > Can someone explain me what could be the difference?
>
> egl_glx uses the underlying GLX implementation, so its performance
> depends on that. You'll need to provide more details, e.g. the output of
> glxinfo in the environment you're running the tests in.
>
>
> --
> Earthling Michel Dänzer           |                   http://www.amd.com
> Libre software enthusiast         |          Debian, X and DRI developer
>

Please find below the extract of glxinfo. But from what I know, glxinfo
will give information about the GLX implementation, and no details about
the gallium stuff.



name of display: :0
Mesa warning: couldn't open libtxc_dxtn.so, software DXTn
compression/decompression unavailable
Mesa warning: XMesaCreateWindowBuffer: depth mismatch between visual (32)
and window (0)!

display: :0  screen: 0
direct rendering: Yes
server glx vendor string: Brian Paul
server glx version string: 1.4 Mesa 8.0.5
server glx extensions:
    GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap,
    GLX_MESA_release_buffers, GLX_ARB_get_proc_address,
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer
client glx vendor string: Brian Paul
client glx version string: 1.4 Mesa 8.0.5
client glx extensions:
    GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap,
    GLX_MESA_release_buffers, GLX_ARB_get_proc_address,
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer
GLX version: 1.4
GLX extensions:
    GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap,
    GLX_MESA_release_buffers, GLX_ARB_get_proc_address,
    GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer
OpenGL vendor string: Brian Paul
OpenGL renderer string: Mesa X11
OpenGL version string: 2.1 Mesa 8.0.5
OpenGL shading language version string: 1.20
OpenGL extensions:
    GL_ARB_multisample, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_copy_texture,
    GL_EXT_polygon_offset, GL_EXT_subtexture, GL_EXT_texture_object,
    GL_EXT_vertex_array, GL_EXT_compiled_vertex_array, GL_EXT_texture,
    GL_EXT_texture3D, GL_IBM_rasterpos_clip, GL_ARB_point_parameters,
    GL_EXT_draw_range_elements, GL_EXT_packed_pixels,
GL_EXT_point_parameters,
    GL_EXT_rescale_normal, GL_EXT_separate_specular_color,
    GL_EXT_texture_edge_clamp, GL_SGIS_generate_mipmap,
    GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,
    GL_SGIS_texture_lod, GL_ARB_multitexture, GL_IBM_multimode_draw_arrays,
    GL_IBM_texture_mirrored_repeat, GL_3DFX_texture_compression_FXT1,
    GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
GL_ARB_transpose_matrix,
    GL_EXT_blend_func_separate, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays,
    GL_EXT_secondary_color, GL_EXT_texture_env_add,
    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
    GL_INGR_blend_func_separate, GL_MESA_resize_buffers, GL_NV_blend_square,
    GL_NV_light_max_exponent, GL_NV_texgen_reflection,
    GL_NV_texture_env_combine4, GL_SUN_multi_draw_arrays,
    GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
    GL_EXT_framebuffer_object, GL_EXT_texture_env_combine,
    GL_EXT_texture_env_dot3, GL_MESA_window_pos, GL_NV_packed_depth_stencil,
    GL_NV_texture_rectangle, GL_NV_vertex_program, GL_ARB_depth_texture,
    GL_ARB_occlusion_query, GL_ARB_shadow, GL_ARB_shadow_ambient,
    GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
    GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,
    GL_ARB_window_pos, GL_ATI_envmap_bumpmap, GL_ATI_fragment_shader,
    GL_EXT_stencil_two_side, GL_EXT_texture_cube_map, GL_NV_depth_clamp,
    GL_NV_fragment_program, GL_NV_point_sprite, GL_NV_vertex_program1_1,
    GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object,
GL_ARB_draw_buffers,
    GL_ARB_fragment_program, GL_ARB_fragment_shader, GL_ARB_shader_objects,
    GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ATI_draw_buffers,
    GL_ATI_texture_env_combine3, GL_EXT_depth_bounds_test,
    GL_EXT_shadow_funcs, GL_EXT_stencil_wrap, GL_MESA_pack_invert,
    GL_MESA_ycbcr_texture, GL_ARB_depth_clamp,
GL_ARB_fragment_program_shadow,
    GL_ARB_half_float_pixel, GL_ARB_occlusion_query2, GL_ARB_point_sprite,
    GL_ARB_shading_language_100, GL_ARB_sync,
GL_ARB_texture_non_power_of_two,
    GL_ARB_vertex_buffer_object, GL_ATI_blend_equation_separate,
    GL_EXT_blend_equation_separate, GL_OES_read_format,
    GL_ARB_pixel_buffer_object, GL_ARB_texture_compression_rgtc,
    GL_ARB_texture_rectangle, GL_ATI_texture_compression_3dc,
    GL_EXT_pixel_buffer_object, GL_EXT_texture_compression_rgtc,
    GL_EXT_texture_mirror_clamp, GL_EXT_texture_rectangle,
    GL_EXT_texture_sRGB, GL_EXT_texture_shared_exponent,
    GL_ARB_framebuffer_object, GL_EXT_framebuffer_blit,
    GL_EXT_framebuffer_multisample, GL_EXT_packed_depth_stencil,
    GL_NV_fragment_program_option, GL_APPLE_object_purgeable,
    GL_ARB_vertex_array_object, GL_ATI_separate_stencil,
    GL_ATI_texture_mirror_once, GL_EXT_draw_buffers2, GL_EXT_draw_instanced,
    GL_EXT_gpu_program_parameters, GL_EXT_texture_array,
    GL_EXT_texture_compression_latc, GL_EXT_texture_sRGB_decode,
    GL_EXT_timer_query, GL_MESA_texture_array, GL_ARB_copy_buffer,
    GL_ARB_draw_instanced, GL_ARB_half_float_vertex,
GL_ARB_map_buffer_range,
    GL_ARB_texture_rg, GL_ARB_texture_swizzle, GL_ARB_vertex_array_bgra,
    GL_EXT_separate_shader_objects, GL_EXT_texture_swizzle,
    GL_EXT_vertex_array_bgra, GL_NV_conditional_render,
    GL_ARB_draw_elements_base_vertex, GL_ARB_explicit_attrib_location,
    GL_ARB_fragment_coord_conventions, GL_ARB_provoking_vertex,
    GL_EXT_provoking_vertex, GL_ARB_robustness, GL_ARB_texture_storage

2 GLX Visuals
    visual  x   bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav
  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------------
0x021 16 tc  0  16  0 r  y .   5  6  5  0 .  .  0 16  8 16 16 16 16  0 0
None
0x041 32 tc  0  32  0 r  y .   8  8  8  0 .  .  0 16  8 16 16 16  0  0 0
None

2 GLXFBConfigs:
    visual  x   bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav
  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------------
0x021 16 tc  0  16  0 r  y .   5  6  5  0 .  .  0 16  8 16 16 16 16  0 0
None
0x041 32 tc  0  32  0 r  y .   8  8  8  0 .  .  0 16  8 16 16 16 16  0 0
None

Regards,
Yannick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130222/d85ef3b0/attachment.html>


More information about the mesa-dev mailing list