Initial benchmark of Glucose/i965 with expedite

Carl Worth cworth at cworth.org
Mon Oct 22 17:08:35 PDT 2007


On Mon, 22 Oct 2007 10:15:00 +0100, Alan Hourihane wrote:
> On Sat, 2007-10-20 at 19:06 +0100, Keith Whitwell wrote:
> > José Fonseca wrote:
> > >> On Thu, 18 Oct 2007 15:53:04 -0700, Carl Worth wrote:
> > >> I did find that one of the tests failed due to a failed symbol in some
> > >> glucose module, (I don't have the details now, as I'm not near that
> > >> machine and expedite sadly requires user interaction to run---I'll
> > >> post more details when I'm back at that machine later).

Here's that error message like I promised:

	$prefix/bin/X: symbol lookup error:
	$prefix/lib/xorg/modules//libglucose.so:
	undefined symbol: xglCreateSolidAlphaPicture

And then the X server promptly exits, of course.

> > > Things to check on .../var/log/Xorg.0.log are:
> > > 
> > >   AIGLX: Loaded and initialized .../lib/dri/i915_dri.so
> > > 
> > >   intel(0): Using GLUCOSE for acceleration

Thanks for the tips. Both of these are present.

> > I'm also wondering if glucose relies on the offscreen rendering 
> > facilities of OpenGL like framebuffer_objects which the i965 driver 
> > doesn't support.
> 
> Possibly, glitz can use FBO's and therefore glucose would too. I suspect
> software paths are certainly being hit in the 965 driver for the results
> that Carl produced.

Yes, the performance certainly does look very close to identical to
software rendering. I've included some oprofile results below that
show that a lot of the time is indeed being spent in pixman.

If anyone has more suggestions for anything I can easily do to help
diagnose the cause of fallbacks, that might be helpful. I'm not yet
prepared to just start single-stepping from ProcRenderComposite to see
what happens...

-Carl

Here's the overall profile from running all of the expedite tests:

  samples|      %|
------------------
    57169 26.2332 libpixman-1.so.0.9.5
    24724 11.3451 libevas.so.1.0.0
    23358 10.7183 Xorg
    17594  8.0734 libc-2.6.1.so
    15229  6.9882 vmlinux
    14466  6.6380 libfreetype.so.6.3.16
    11987  5.5005 i965_dri.so
    11798  5.4138 expedite
     8891  4.0798 oprofiled
     8282  3.8004 libm-2.6.1.so
     5381  2.4692 module.so
     4651  2.1342 libglucose.so
     4273  1.9608 libfb.so
     3641  1.6708 libXrender.so.1.3.0
     2289  1.0504 oprofile
     1903  0.8732 libglitz.so.1.0.0

Perhaps of interest are the details for pixman, Xorg, i965_dri,
libglucose, and libglitz so here are the heads of each of those:

pixman:
samples  %        symbol name
33171    58.0227  fbCompositeSolidMask_nx8x8888mmx
3313      5.7951  fbCompositeSolid_nx8888mmx
2727      4.7701  fbFetchTransformed
2011      3.5176  pixman_image_composite

Xorg:
2375     10.1678  XaceHook
1525      6.5288  __i686.get_pc_thunk.bx
1342      5.7454  SecurityLookupIDByType
1275      5.4585  _CallCallbacks
1066      4.5637  ProcRenderComposite
1007      4.3112  Dispatch

i965_dri:
11144    92.9674  swizzle_copy
44        0.3671  brw_search_cache
30        0.2503  _mesa_UpdateTexEnvProgram
21        0.1752  brw_cached_batch_struct
18        0.1502  _mesa_update_texture
17        0.1418  _mesa_set_enable

libglucose:
1059     22.7693  xglComposite
621      13.3520  xglCompositeGeneral
620      13.3305  xglSyncBits
408       8.7723  xglAddCurrentSurfaceDamage
336       7.2243  xglPixmapDamageReport
305       6.5577  xglPrepareTarget

libglitz:
720      37.8350  __udivdi3
388      20.3889  _glitz_pixel_transform
238      12.5066  glitz_set_pixels
179       9.4062  _fetch_32
152       7.9874  _store_16
41        2.1545  glitz_buffer_map
20        1.0510  glitz_buffer_unmap
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20071022/e4cf6d33/attachment.pgp>


More information about the xorg mailing list