Announcement

Collapse
No announcement yet.

2D slowness in r500 radeon EXA?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • agd5f
    replied
    Originally posted by curaga View Post
    Is support for that difficult to implement? Can it happen before 1.6 is out?
    Not likely. Only very recent hw even supports a1 surfaces natively. I suppose you could do some tricks with color expansion on older hw, but core EXA would need a1 support first.

    Leave a comment:


  • curaga
    replied
    Is support for that difficult to implement? Can it happen before 1.6 is out?

    Leave a comment:


  • agd5f
    replied
    Originally posted by curaga View Post
    As far as I can see, the only message from that debug option repeating is:

    R300CheckCompositeTexture: Unsupported picture format 0x1011000
    That's the a1 (single bit alpha) format, which EXA doesn't accelerate yet.

    Originally posted by curaga View Post
    I wonder why it says composite, since JWM does not do compositing.
    The EXA hooks for RENDER acceleration are called composite. Doesn't matter whether you are using a composting manager or not. I'm guessing JWM uses a1 for anti-aliased fonts. kde 4 did something similar and that's why it was slow. They should really be using a8 since both EXA and a lot more hardware can support a8.

    Leave a comment:


  • curaga
    replied
    Well, I wanted to give it a day's use before showing the log. Xorg.0.log was 500kb instead of the usual 25kb.

    As far as I can see, the only message from that debug option repeating is:
    R300CheckCompositeTexture: Unsupported picture format 0x1011000
    I wonder why it says composite, since JWM does not do compositing. Anyway, in the case I missed something, here's the log uniq'd:


    (no pastebin, for the X copy buffer seems to be too small for the log)

    Leave a comment:


  • oibaf
    replied
    Originally posted by curaga View Post
    Running 1.5.1 currently, I'll wait till a formal release of 1.6 is out before wandering there

    Trying different things from git trunks has the tendency of checking out during times when components do not work together well, or right in the middle of a commit series, etc.

    Is the X server the only cause?
    Note that 1.5.3 includes at least one EXA performance fix:


    With 1.5.3 I got a nice speedup over 1.5.2:

    Leave a comment:


  • curaga
    replied
    OK, just finished. BTW, 6.10.0 would not compile with that defined. Patch for that:
    diff -Naur xf86-video-ati-6.10.0/src/radeon_exa_render.c xf86-video-ati-6.10.0.fixed/src/radeon_exa_render.c
    --- xf86-video-ati-6.10.0/src/radeon_exa_render.c 2009-01-06 21:36:58.000000000 +0200
    +++ xf86-video-ati-6.10.0.fixed/src/radeon_exa_render.c 2009-01-21 19:55:52.000000000 +0200
    @@ -539,7 +539,7 @@
    return FALSE;

    if (pDstPicture->format == PICT_a8 && RadeonBlendOp[op].dst_alpha)
    - RADEON_FALLBACK("Can't dst alpha blend A8\n");
    + RADEON_FALLBACK(("Can't dst alpha blend A8\n"));

    if (pMask)
    info->accel_state->has_mask = TRUE;
    @@ -847,7 +847,7 @@
    return FALSE;

    if (pDstPicture->format == PICT_a8 && RadeonBlendOp[op].dst_alpha)
    - RADEON_FALLBACK("Can't dst alpha blend A8\n");
    + RADEON_FALLBACK(("Can't dst alpha blend A8\n"));

    if (pMask)
    info->accel_state->has_mask = TRUE;

    Leave a comment:


  • agd5f
    replied
    Originally posted by curaga View Post
    Would that be useful? I mean, wouldn't you already know those?
    EXA works fine for most people (myself included). This would determine what your set of apps is doing to cause a slowdown, assuming the slowdown is fallback related.

    Leave a comment:


  • curaga
    replied
    Would that be useful? I mean, wouldn't you already know those?

    Leave a comment:


  • agd5f
    replied
    You can trace where the driver is falling back to software by editing radeon_exa.c and changing:
    #define RADEON_TRACE_FALL 0
    to
    #define RADEON_TRACE_FALL 1

    then fallbacks will be logged in your xorg log. (note your log could get really big).

    Leave a comment:


  • curaga
    replied
    I am using 2.6.28 and the module that comes with (1.29):
    bash-3.2$ dmesg | grep drm
    [drm] Initialized drm 1.1.0 20060810
    [drm] Initialized radeon 1.29.0 20080528 on minor 0
    [drm] Setting GART location based on new memory map
    [drm] Loading R500 Microcode
    [drm] Num pipes: 1
    [drm] writeback test succeeded in 1 usecs
    [drm] Num pipes: 1
    [drm] Loading R500 Microcode
    [drm] Num pipes: 1
    bash-3.2$ uname -a
    Linux Valinor 2.6.28-laxy #1 SMP Wed Jan 7 19:23:38 EET 2009 x86_64 Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz GenuineIntel GNU/Linux

    Leave a comment:

Working...
X