On Monday 30 August 2010 12:26:27 Xu, Samuel wrote: > Hi, Siarhei Siamashka: > Sorry for a typo, fixed version is attached. Pls ignore pervious mail. > > New patch, which contains > 1)Simplified 64 bit detect_cpu_features(), only check SSSE3 bit. > _MSC_VER > path switched to __cpuid to avoid inline asm. _MSC_VER path CPUID code > snatch is extracted and tested on standalone C file in a 64 bit windows > system, using VS2010. 2) removed "merging", pixman-ssse3.c is shaped as > our discussion.
+/* + * Copyright 2010 Intel Corporation + * + * Permission to use, copy, modify, distribute, and sell this software and its + * documentation for any purpose is hereby granted without fee, provided that + * the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation, and that the name of Mozilla Corporation not be used in ^^^^^^^^^^^^^^^^^^^ Mozilla Corporation? Looks like this is yet another case of careless copy/paste. And I would like to remind again that the following text of copyright notice is preferred for new code. It is not strictly necessary, but I just want to be sure that you checked this link: http://cgit.freedesktop.org/pixman/tree/COPYING Other than that, and assuming that the patch was properly tested on 32-bit and 64-bit machines both with and without SSSE3 support, I don't see any remaining really blocker issues. Or more like I'm giving up and would like to pass the baton to somebody else. Also I tried to run my simple microbenchmarking program on Intel Atom N450 netbook, x86_64 system. The results are the following: -- All results are presented in millions of pixels per second L1 - small Xx1 rectangle (fitting L1 cache), always blitted at the same memory location with small drift in horizontal direction L2 - small XxY rectangle (fitting L2 cache), always blitted at the same memory location with small drift in horizontal direction M - large 1856x1080 rectangle, always blitted at the same memory location with small drift in horizontal direction HT - random rectangles with 32x32 average size are copied from one 1920x1080 buffer to another, traversing from left to right and from top to bottom VT - random rectangles with 32x32 average size are copied from one 1920x1080 buffer to another, traversing from top to bottom and from left to right R - random rectangles with 32x32 average size are copied from random locations of one 1920x1080 buffer to another --- reference memcpy speed = 1007.2MB/s (251.8MP/s for 32bpp pixels) --- C --- src_x888_8888 = L1: 265.13 L2: 223.61 M:216.12 HT:109.69 VT: 80.23 R: 75.42 --- SSE2 --- src_x888_8888 = L1: 611.50 L2: 494.79 M:120.17 HT: 83.57 VT: 79.48 R: 60.30 --- SSE2 (prefetch removed) --- src_x888_8888 = L1: 683.39 L2: 539.57 M:260.07 HT:128.22 VT: 85.23 R: 81.40 --- SSSE3 --- src_x888_8888 = L1:1559.35 L2: 798.95 M:254.31 HT:129.29 VT: 84.67 R: 75.00 -- Best regards, Siarhei Siamashka
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Pixman mailing list Pixman@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/pixman