Patric Stout
56d54cf60e
Add: introduce CMake for project management
...
CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.
Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.
This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.
Addtiionally, this heavily improves our detection of libraries, etc.
4 years ago
Michael Lutz
37bc2f8064
Codechange: Use std::string in the driver and blitter selection code.
4 years ago
Michael Lutz
9dd8b3d430
Remove: [OSX] Stuff that is pre-10.7 from the Cocoa/Quartz video driver.
5 years ago
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
5 years ago
JMcKiern
04f659e768
Fix: Some typos found using codespell
5 years ago
glx22
2ed88d6898
Fix: inconsistent description for 32bpp-sse4-anim blitter ( #7740 )
5 years ago
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
6 years ago
Henry Wilson
af7d9020a1
Codechange: Use override specifer for overriding member declarations
...
This is a C++11 feature that allows the compiler to check that a virtual
member declaration overrides a base-class member with the same signature.
Also src/blitter/32bpp_anim_sse4.hpp +38 is no longer erroneously marked
as virtual despite being a template.
6 years ago
Jonathan G Rennison
4b256fed36
Codechange: [Blitter] Adjust line-drawing algorithm to reduce wasted off-screen work
...
This clips the line segment to be within the screen area prior to pixel iteration.
6 years ago
Jonathan G Rennison
0240e90169
Fix: [Blitter] Avoid signed overflow when drawing long lines
6 years ago
Jonathan G Rennison
db924a4681
Codechange: [Blitter] Change DrawLine to be templated
...
This is remove per-pixel overheads due to use of the SetPixel virtual
method.
These overheads included:
* expensive virtual method call which prevents inlining
* palette lookup for every pixel
* branch on whether palette animation is enabled on every pixel
Regenerate project files.
6 years ago
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
6 years ago
Charles Pigott
5f86e1a390
Codechange: Silence -Wclass-memaccess warnings with GCC8
6 years ago
Jonathan G Rennison
17257b9620
Add: 32bpp SSE2 blitter palette animator ( #6795 )
...
Create a new blitter mode: 32bpp-sse2-anim, which is 32bpp-anim + this.
32bpp-sse2-anim is now used by default where 32bpp-anim would have been.
Also use this with the 32bpp-sse4-anim blitter.
See issue #6469 .
6 years ago
Michael Lutz
74b7f0a9aa
Fix: [OSX] Remove some OSX compiler warnings on newer SDKs/compilers.
7 years ago
peter1138
86430757bf
(svn r27837) -Fix (r26969): Black remap did nothing in 8bpp-simple blitter.
8 years ago
frosch
19188818ea
(svn r27796) -Fix [FS#6545]: 32bpp-anim blitters assumed that pitch and width of the screen were equal.
8 years ago
frosch
d5f82bf55b
(svn r27774) -Fix [FS#5889]: Enabling palette animation for 32bpp blitters while paused skipped initialisation of the palette and resulted in black windows.
...
-Revert (r23978): No SDL-specific fix required anymore. The new fix applies to all backends.
8 years ago
frosch
914d4616ca
(svn r27575) -Fix [FS#6404]: Memory leak when disabling palette animation. (JGR)
8 years ago
rubidium
d534c80e94
(svn r27020) -Cleanup: some coding style consistency improvements (mostly spaces)
10 years ago
rubidium
8c7f376ae1
(svn r26970) -Fix (r26969): non-sse animated blitter crashed occasionally
10 years ago
rubidium
9c31ffd893
(svn r26969) -Fix (r26869): black palette didn't work very well with unmasked 32bpp sprites
10 years ago
rubidium
b476086c39
(svn r26538) -Codechange: remove double accounting of the drivers
11 years ago
rubidium
9ed12b0f07
(svn r26509) -Codechange: replace strdup with stredup (the latter ensures the return is not NULL)
11 years ago
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
11 years ago
rubidium
c8fffcd5ce
(svn r26473) -Fix: make sure there is no uninitialised sprite data; the other blitters cleared the memory too
11 years ago
peter1138
209d3e2e9e
(svn r26463) -Fix (r10190ish): Add special handling for PALETTE_CRASH to work for non-8bpp-mapped sprites.
11 years ago
frosch
cb7544ea39
(svn r26334) -Fix: 32bit compilation.
11 years ago
rubidium
ef9108bd58
(svn r26260) -Codechange: add template parameters for (non) translucent and (non) animated sprites, so the least expensive variant can be chosen (MJP)
11 years ago
rubidium
eb2c2ef877
(svn r26259) -Codechange: add and maintain some general flags about sprites to prevent unneeded execution of expensive code (MJP)
11 years ago
rubidium
fdf55a1a48
(svn r26258) -Codechange: deduplicate Draw methods (MJP)
11 years ago
rubidium
f5f4f8a4b3
(svn r26257) -Codechange: replace most of the SSE macros by functions
11 years ago
rubidium
3a44e22b1a
(svn r26256) -Codechange: do not load some data when it is not (often) used later on (MJP)
11 years ago
rubidium
70901e04c5
(svn r26255) -Codechange: improve performance of brightness adjustment (MJP)
11 years ago
rubidium
2f7c4f6d12
(svn r26254) -Codechange: MOVD is better in some cases than PINSRD (MJP)
11 years ago
rubidium
5b3b533697
(svn r26253) -Codechange: remove margin limitation to preserve block type (MJP)
11 years ago
rubidium
7f6e837b3a
(svn r26252) -Codechange: deduplicate code for margin case (MJP)
11 years ago
rubidium
9a90bed79b
(svn r26251) -Codechange: prepare Draw code for code deduplication (MJP)
11 years ago
rubidium
6e34672c6c
(svn r26250) -Codechange: deduplicate darkening (e.g. shadow) code (MJP)
11 years ago
rubidium
76661f2c56
(svn r26249) -Codechange: simplify/cleanup ALPHA_BLEND macro (MJP)
11 years ago
rubidium
31c6e33878
(svn r26248) -Fix (r26223): missed compiler warning (MJP)
11 years ago
rubidium
a942619911
(svn r26247) -Fix [FS#5854, FS#5855]: Possible out of bounds reads with the sse blitters (MJP)
11 years ago
planetmaker
7b20da8a0a
(svn r26223) -Codechange: Silence some compile warnings about unititialized variables in the SSE blitters (MJP)
11 years ago
rubidium
115c712f4e
(svn r26222) -Codechange: use SSE instructions for transparent colour "remap" in the SSE2/SSSE3 blitters as well
11 years ago
rubidium
613fb9c6ef
(svn r26221) -Codechange: normalize constant names in anim-sse4 with the others (MJP)
11 years ago
rubidium
1e1656110a
(svn r26215) -Codechange: rework code so one can test if a blitter factory exists before attempting trying to instantiate an instance
11 years ago
rubidium
4c84d13454
(svn r26214) -Add: specialised animated SSE4 blitter (MJP)
...
With 32bpp base set about 15-20% faster in the Draw function (slower with 8bpp base set). Overall, with 32bpp base set, about 5% faster.
11 years ago
rubidium
78df732a7b
(svn r26213) -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
11 years ago
rubidium
71a81a8762
(svn r26212) -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
11 years ago
rubidium
fb05674cb7
(svn r26211) -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
11 years ago