Commit Graph

78 Commits

Author SHA1 Message Date
Max Horn
7e7ad149c2 GRAPHICS: Cleanup advmame scaler code; don't include assert.h
svn-id: r54104
2010-11-07 00:37:04 +00:00
Johannes Schickel
2662d569d9 Fix long standing regression (introduced with r34053) in thumbnail scaling code for Hercules graphics.
svn-id: r50605
2010-07-02 22:38:42 +00:00
Filippos Karapetis
e22a75de99 Rewrote the handling of thumbnail creation for KQ6 Windows in rev #50600, so that it recreates the screen buffer like the other workarounds above it (thanks to LordHoto for pointing this out)
svn-id: r50601
2010-07-02 19:04:44 +00:00
Filippos Karapetis
1beff1a599 Added a special case for KQ6 hires in the thumbnail creation code, which runs at a resolution of 640x440
svn-id: r50600
2010-07-02 16:52:09 +00:00
Johannes Schickel
d163686d2d Document that the current Hercules mode thumbnail scaler code is pretty much aimed for SCUMM games.
svn-id: r48736
2010-04-19 20:44:25 +00:00
Johannes Schickel
498d1da182 Cleanup.
svn-id: r48735
2010-04-19 20:44:05 +00:00
Andre Heider
64cba2878a Do not call OSystem::grabPalette() for 16bit modes, when the result is not used anyway for those modes.
svn-id: r48733
2010-04-19 20:37:20 +00:00
Robin Watts
9bb92eba9e Fix for ARM Normal2xAspect scaler that was causing crashes when the screen
'shakes' (such as when the head/bomb goes of at the start of sam'n'max).
Was overwriting the end of the screen when asked to plot a non-multiple of
5 lines.

svn-id: r48690
2010-04-17 15:45:06 +00:00
Robin Watts
99e032e954 Fix missing definition of gBitFormat.
svn-id: r48213
2010-03-09 01:20:23 +00:00
Johannes Schickel
56bd4a6e18 Use a template for hq2x and hq3x instead of using #include and defines.
svn-id: r48197
2010-03-08 19:16:50 +00:00
Johannes Schickel
807f0223d7 Fix compilation.
svn-id: r48196
2010-03-08 19:07:31 +00:00
Max Horn
e90f074177 Add new aspect ratio scaler variant, based on the Normal2xAspect ARM code
svn-id: r48195
2010-03-08 10:32:45 +00:00
Max Horn
706769a3dc Rewrite Normal1xAspect (untested, may be broken)
svn-id: r48194
2010-03-08 10:32:28 +00:00
Max Horn
569273040e Remove redundant code
svn-id: r48193
2010-03-08 10:32:05 +00:00
Max Horn
2cdf8996f3 Rename PocketPCLandscapeAspect to Normal1xAspect and move it to
graphics/scaler/aspect.cpp

svn-id: r48192
2010-03-08 10:31:42 +00:00
Max Horn
0fc137cdf2 Rename PocketPCPortrait scaler to DownscaleHorizByThreeQuarters,
and move it to graphics/scaler.

svn-id: r48191
2010-03-08 10:31:09 +00:00
Max Horn
a558e60fec SCALERS: Get rid of MAKE_WRAPPER; make RGBtoYUV internal
svn-id: r48189
2010-03-08 10:30:23 +00:00
Max Horn
78b6bed8db Code formatting
svn-id: r48188
2010-03-08 10:29:52 +00:00
Max Horn
d239d5c2f8 SCALERS: Change 'bitformat' template params to 'colormasks';
get rid of some #defines

svn-id: r48187
2010-03-08 10:29:35 +00:00
Max Horn
28c6c600d4 Move some aspect ratio related stuff to graphics/scaler/aspect.h
svn-id: r48186
2010-03-08 10:29:00 +00:00
Johannes Schickel
aed02365ec Strip trailing spaces/tabs.
svn-id: r47541
2010-01-25 01:39:44 +00:00
Arnaud Boutonné
1f79fd5788 Some more header modifications ("Graphic Adventure Engine" and the legal property paragraph)
svn-id: r47489
2010-01-23 22:50:24 +00:00
Max Horn
974b49ebfe Put two of the WinCE downscalers into graphics/scaler/downscaler*, so that they can be used by multiple backends (more could be added as needed)
svn-id: r45974
2009-11-18 15:19:44 +00:00
Max Horn
5884ac58c6 Whitespace changes
svn-id: r44546
2009-10-02 20:21:07 +00:00
Andre Heider
fa3e257aa2 Removed the svn:executable property on non-executables
svn-id: r44444
2009-09-28 09:16:53 +00:00
Max Horn
37e51f1575 Fixed some (pedantic) warnings
svn-id: r44015
2009-09-08 22:03:07 +00:00
Johannes Schickel
84c1fc6399 Fix bug for non 8bpp indexed game screens in grabScreen565.
svn-id: r43796
2009-08-29 08:02:40 +00:00
Jody Northup
21e6438a50 changes to graphics/scaler/thumbnail_intern.cpp that escaped earlier 16-bit merge.
svn-id: r43788
2009-08-29 07:23:49 +00:00
Joost Peters
edaa4a0422 MIPSpro compilation fixes / workarounds (from a patch by Rainer Canavan)
The hashmap.h change is ugly, but so far the only thing found to work. Suggestions for a better "fix" appreciated!

svn-id: r43380
2009-08-14 17:18:03 +00:00
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