-Change: add SSE detection to the configure script with the possibility to disable it (based on patch by MJP)


git-svn-id: http://svn.openttd.org/trunk@26194 6aa0318a-3be1-0310-93fa-89fd2396df07
-Codechange: move debug's ottd_rdtsc (CPU specific high precision timer) into cpu.h/cpp


git-svn-id: http://svn.openttd.org/trunk@26195 6aa0318a-3be1-0310-93fa-89fd2396df07
-Fix (r26195): forgot project files


git-svn-id: http://svn.openttd.org/trunk@26196 6aa0318a-3be1-0310-93fa-89fd2396df07
-Add: wrappers around cpuid


git-svn-id: http://svn.openttd.org/trunk@26197 6aa0318a-3be1-0310-93fa-89fd2396df07
-Fix (r26195): some platforms leave an .exe around...


git-svn-id: http://svn.openttd.org/trunk@26198 6aa0318a-3be1-0310-93fa-89fd2396df07
-Fix (r29197): typo in function name


git-svn-id: http://svn.openttd.org/trunk@26199 6aa0318a-3be1-0310-93fa-89fd2396df07
-Fix (r26197): hopefully it works now


git-svn-id: http://svn.openttd.org/trunk@26200 6aa0318a-3be1-0310-93fa-89fd2396df07
-Fix: unscaling by a negative value is the same as scaling by a positive number


git-svn-id: http://svn.openttd.org/trunk@26201 6aa0318a-3be1-0310-93fa-89fd2396df07
-Cleanup: since ZOOM_LEVEL_NORMAL 0 and there aren't any negative zoom levels, there is no reason to account for negative zoom levels in the zoom functions (based on patch by MJP)


git-svn-id: http://svn.openttd.org/trunk@26202 6aa0318a-3be1-0310-93fa-89fd2396df07
-Codechange: unduplicate GfxMainBlitter and GfxMainBlitterViewport


git-svn-id: http://svn.openttd.org/trunk@26203 6aa0318a-3be1-0310-93fa-89fd2396df07
-Codechange: rework GfxBlitter to remove some unneeded operations when there is no sub sprite (based on patch by MJP)


git-svn-id: http://svn.openttd.org/trunk@26204 6aa0318a-3be1-0310-93fa-89fd2396df07
-Feature: SSE 4.1 sprite sorter, improving the sorting performance significantly (MJP)
For example with GCC 4.8, x86_64 Linux, Intel i5-3337U this patch improves the performance of Pile, Treham and Hamac test save games by about 10% in over-all run time at fast forward at 1920x1080 when zoomed out and when trees are not disabled.


git-svn-id: http://svn.openttd.org/trunk@26205 6aa0318a-3be1-0310-93fa-89fd2396df07
-Fix [FS#5829]: Run everything from ini, obg, obs, obs, ... files through str_validate.

git-svn-id: http://svn.openttd.org/trunk@26206 6aa0318a-3be1-0310-93fa-89fd2396df07
-Codechange: move the CPUID flag detection into cpu.cpp


git-svn-id: http://svn.openttd.org/trunk@26207 6aa0318a-3be1-0310-93fa-89fd2396df07
-Fix (r26197): the cpuid assembly didn't work when PIC was enabled


git-svn-id: http://svn.openttd.org/trunk@26208 6aa0318a-3be1-0310-93fa-89fd2396df07
-Codechange: remove some template magic and simplify some code


git-svn-id: http://svn.openttd.org/trunk@26209 6aa0318a-3be1-0310-93fa-89fd2396df07
-Codechange: add infrastructure for not registering a blitter


git-svn-id: http://svn.openttd.org/trunk@26210 6aa0318a-3be1-0310-93fa-89fd2396df07
-Add: specialised non-animated SS2 blitter (MJP)
With 32bpp base set about 30% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 5 and 1% of total run time


git-svn-id: http://svn.openttd.org/trunk@26211 6aa0318a-3be1-0310-93fa-89fd2396df07
-Add: specialised non-animated SSSE3 blitter (MJP)
With 32bpp base set about 35% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 6 and 1% of total run time


git-svn-id: http://svn.openttd.org/trunk@26212 6aa0318a-3be1-0310-93fa-89fd2396df07
-Add: specialised non-animated SSE4 blitter (MJP)
With 32bpp base set about 40% faster than 32bpp-optimized, or about 10% for 8bpp base sets in the Draw function. Respectively about 8 and 1% of total run time


git-svn-id: http://svn.openttd.org/trunk@26213 6aa0318a-3be1-0310-93fa-89fd2396df07