Commit Graph

49 Commits

Author SHA1 Message Date
Max Horn
affbe86026 Patch #2818501: enable scale2x mmx on x86_64
svn-id: r42918
2009-07-30 09:36:50 +00:00
Robin Watts
816bd9a7ea Add ARM code version of Normal2x scaler.
Add ARM only aspect ratio correcting version of Normal2x scaler.

Make WinCE port use Normal2x by default if the screen is large enough.
Make WinCE port use aspect ratio correcting version if panel is hidden.

svn-id: r42843
2009-07-27 16:29:36 +00:00
Robin Watts
64ebb586cd Add ARM code implementation of Scaler2x, and enable it for the WinCE
port.

svn-id: r42645
2009-07-21 19:39:24 +00:00
Travis Howell
fc4d1c0aff Revert last change, better to wait for 16bit backend support.
svn-id: r41131
2009-06-03 00:31:50 +00:00
Travis Howell
f82df1d1c4 Update thumbnail code to capture RGB565 screen.
svn-id: r41130
2009-06-03 00:01:07 +00:00
Max Horn
02ac46565b Tweak the hq2x/hq3x a little bit (interpolation code is little bit shorter, faster and easier to read... but 70+% of the time is spent on computing diffYUV etc. anyway, so I guess this a bit pointless... whatever... ;)
svn-id: r40964
2009-05-28 21:33:36 +00:00
Max Horn
f86403ed22 Attempt to fix compilation problems on MSVC 7 (I wonder why it compiled elsewhere, actually ;)
svn-id: r38314
2009-02-15 22:14:04 +00:00
Max Horn
1c0d2c5ab9 Fixed hq2x ASM scaler
svn-id: r36115
2009-01-27 21:44:24 +00:00
Max Horn
b6c17e396b Re-enabled ASM versions of HQx scalers (oops)
svn-id: r36099
2009-01-27 14:48:49 +00:00
Max Horn
e338205066 Added new interpolate16_1_1_1_1 func, got rid of interpolate32_1_1_1_1
svn-id: r36090
2009-01-27 01:46:29 +00:00
Max Horn
379fe274df Replaced small lookup table in 2xsai by direct computation
svn-id: r36089
2009-01-27 01:35:21 +00:00
Max Horn
97153f9c3b Removed interpolate16_2 and interpolate16_3
svn-id: r36088
2009-01-27 01:29:22 +00:00
Max Horn
9809709468 Speed up HQ2x/HQ3x C++ version a bit (about 20% faster with -O3 on my system)
svn-id: r36087
2009-01-27 01:23:04 +00:00
Max Horn
153b32391f New code for interpolate32_1_1 overflowed in 565 mode, so reverting to the old code (with some variable name changes to match the other interpolators)
svn-id: r36086
2009-01-27 00:55:28 +00:00
Max Horn
4098ff66aa Removed use of LUT16to32 in HQx asm versions, replacing some MMX code with 'plain' x86 code. Advantage: got rid of a 256kb table (reduces cache load, so over here the code is about as fast as before; in particular, since the affected interpolators are not used that often, it seems). Moreover, the new code is more accurate than the old ASM code, which actually differed from what our C++ HQx did (sacrificing precision for speed, i.e., cheating ;-)
svn-id: r36078
2009-01-26 18:31:06 +00:00
Max Horn
2042c6d570 Slightly improved interpolate32_1_1
svn-id: r36075
2009-01-26 16:45:21 +00:00
Max Horn
dd586e0e20 Renamed lowBits -> kLowBitsMask and highBits -> kHighBitsMask
svn-id: r36049
2009-01-25 04:29:25 +00:00
Max Horn
b93db9f30f HQX: Removed some more branches (like in my previous commit) from interpolation macros (they are meant to speed up things, but in reality cause a slowdown -- branches are expensive on modern CPUs)
svn-id: r36047
2009-01-24 23:27:21 +00:00
Max Horn
16e7a7cd30 Turned two vars of the HQ2x/HQ3x ASM implementation into global vars, to make it possible to adjust them for 555 vs. 565 mode (555 mode is still a bit buggy, due to the interpolation code they use)
svn-id: r36046
2009-01-24 23:06:58 +00:00
Max Horn
ab5e3db9e3 Moved 565 mode specific bits of HQ2x/HQ3x asm to 'variables'
svn-id: r36034
2009-01-24 06:26:43 +00:00
Max Horn
4d5702606f Remark that the HQnx ASM code only works in 565 mode
svn-id: r36025
2009-01-23 22:56:14 +00:00
Max Horn
04517f17ad Added some comments to hq2x/hq3x asm code
svn-id: r36024
2009-01-23 22:05:40 +00:00
Max Horn
d5d7175691 Speed up HQ2x/HQ3x C versions by reordering tests in diffYUV: most likeliest to be taken now is first, least likely is last
svn-id: r35996
2009-01-22 06:41:57 +00:00
Max Horn
17f5d4eeea Got rid of gBitFormat in thumbnail scaler code (and even simplified it in the process)
svn-id: r35994
2009-01-22 04:45:19 +00:00
Robin Watts
8f3b2e9b4d Remove warnings from NDS build.
svn-id: r35172
2008-11-29 18:01:16 +00:00
Johannes Schickel
985c02ee7d Committed my patch #2216641 "GRAPHICS: PixelFormat introduction".
svn-id: r34875
2008-11-03 13:44:59 +00:00
Kari Salminen
fac71dc6d4 Renamed graphics/scaler/thumbnail.cpp to thumbnail_intern.cpp. Fixes compiling under MSVC.
svn-id: r34063
2008-08-20 15:58:52 +00:00
Johannes Schickel
f4fc8c3e4c Committed patch #2050337 "KYRA/SCUMM: Thumbnail support/improvement". (Without Max' compressed backward seeking support for now)
svn-id: r34053
2008-08-20 14:03:34 +00:00
Max Horn
169b27de0a Patch #2014663: Do not mark stack as executable in HQx scaler
svn-id: r33645
2008-08-05 21:26:04 +00:00
Jordi Vilalta Prat
b81993f894 Patch #1923547: enable nasm usage on OS/2
svn-id: r31226
2008-03-23 11:24:23 +00:00
Torbjörn Andersson
338beeca84 Committed my own patch #1885901 to fix NASM warnings.
svn-id: r30804
2008-02-05 23:24:09 +00:00
Jordi Vilalta Prat
66e9d4f5e8 Removed trailing spaces.
svn-id: r30664
2008-01-27 19:47:41 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn
c492e9c902 make use of RGBToColor<ColorMasks> > template function
svn-id: r28516
2007-08-11 08:02:19 +00:00
Max Horn
b51f2f3212 Implemented the OSystem framebuffer API, as discussed on scummvm-devel. All changes are just fine, and won't cause any compile problems or regressions, despite the fact that I can't test most of the non-SDL backend changes, at an improbability level of two to the power of two hundred and seventy-six thousand to one against - possibly much higher. Anything you still can't cope with is therefore your own problem. Please relax.
svn-id: r27548
2007-06-19 22:39:59 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Lars Persson
aec70b0bb2 Implementation and declartion in intern.h differed. Changed so both is using the same datatype.
svn-id: r22074
2006-04-21 20:56:53 +00:00
Eugene Sandulenko
718532b386 Fix ASM HQ routines, because RGBtoYUV and LUT16to32 are on heap now.
svn-id: r22041
2006-04-19 22:53:37 +00:00
Max Horn
a76689ed71 Make use of triple-interpolation function in SuperEagel (should save a few cycles... not that it really matters :)
svn-id: r21985
2006-04-17 18:54:20 +00:00
Max Horn
43143daca7 Replace interpolate32 calls by interpolate16 calls (as we only work on single pixels here currently)
svn-id: r21983
2006-04-17 18:28:19 +00:00
Max Horn
c128bad7df Simple optimization
svn-id: r21982
2006-04-17 18:23:16 +00:00
Max Horn
b47e531425 Renamed and merge some of the pixel interpolation functions (the names still could be better)
svn-id: r21981
2006-04-17 18:17:02 +00:00
Max Horn
ea85e8c986 Moved ColorMasks to their own new header graphics/colormasks.h, so that both the scalers and the GUI code can access them. Also added (untested) entries for 1555, 444, 888 and 8888 modes
svn-id: r21966
2006-04-17 10:22:05 +00:00
Max Horn
de250812e5 Removed my Altivec version of the hqx blitters, since it (a) didn't work with newer GCC versions, (b) speed was improved on some systems, but actually slower on others, and (c) even on my old 400 Mhz G4 hqx is fast enough w/o it
svn-id: r21961
2006-04-17 08:38:26 +00:00
Max Horn
e4930bd96d Don't use HAVE_CONFIG_H / config.h directly, use scummsys.h instead
svn-id: r21605
2006-04-04 21:45:13 +00:00
Oystein Eftevaag
58eed3830b * 'make bundle' now copies the default theme files into the bundle.
* Common::File will now look inside the application bundle on MacOS X for a file if
it can't find it anywhere else (so it'll find default-theme.ini and .zip)
* Cleaned up some #ifs.

svn-id: r21308
2006-03-15 07:43:44 +00:00
Oystein Eftevaag
c3d8674a26 Adds support for building on Intel Macs, using a modified
version of patch 1448395 by Aubin and some of my 
own changes.

Notably:
* Two elements of a struct in backends/midi/quicktime.cpp
needed to be forced to BE.
* NASM set to build Mach-O binaries
* configure now checks for Altivec support on Darwin hosts,
instead of assuming it. Altivec support can also be disabled (not 100% sure if t
his is actually needed, but might be handy for crosscompiling).
* The aliasing of the symbols contained in the .asm files
done on Windows were also needed on MacOS.

Note that while the asm code is properly compiled and linked
in, HQ2/3x support will still not work properly on Intel macs
if NASM is enabled.

svn-id: r21280
2006-03-14 12:18:04 +00:00
Max Horn
e49e7ebb3f Fixing up my previous commit: finished moving common/scaler* to graphics
svn-id: r20798
2006-02-20 20:40:12 +00:00
Max Horn
7335d348ba Moved common/scaler* to graphics/
svn-id: r20797
2006-02-20 20:29:02 +00:00