[Pixman] [PATCH v2 03/11] vmx: implement fast path vmx_fill

Adam Jackson ajax at redhat.com
Wed Jul 15 11:45:47 PDT 2015


On Wed, 2015-07-15 at 16:36 +0300, Oded Gabbay wrote:

> +    else
> +    {
> +	return FALSE;
> +    }
> +
> +    vfiller = create_mask_1x32_128(&filler);

This appears to be less of a regression for small operations if you
fall back to the C code for byte_width < 64 here.  That seems to be
about the optimal magic number to use for a cutoff.  Making it 32
doesn't affect 10x10 fill at 32bpp (40 bytes wide), but making it 128
severely punishes 100x100 fill at 8bpp (100 bytes wide).

x11perf -rect{1,10,100,500} at 32bpp:

    master             vmx_fill    vmx_fill for >=64   Operation
----------  -------------------  -------------------   -----------------
19644005.2  16586597.0 (0.844x)  17323615.4 (0.882x)   1x1 rectangle
 6880326.9   5516644.2 (0.802x)   6619153.8 (0.962x)   10x10 rectangle
  126143.3    456974.3 (3.623x)    474572.7 (3.762x)   100x100 rectangle
    5421.5     29948.8 (5.524x)     29519.3 (5.445x)   500x500 rectangle

- ajax


More information about the Pixman mailing list