summaryrefslogtreecommitdiff
path: root/src/blitter
AgeCommit message (Collapse)Author
2020-09-25Codechange: Make codestyle for CMake files consistent for 'control' statementsCharles Pigott
2020-06-05Add: introduce CMake for project managementPatric Stout
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.
2020-05-21Codechange: Use std::string in the driver and blitter selection code.Michael Lutz
2020-04-12Remove: [OSX] Stuff that is pre-10.7 from the Cocoa/Quartz video driver.Michael Lutz
2019-11-10Cleanup: Removed SVN headersS. D. Cloudt
2019-09-29Fix: Some typos found using codespellJMcKiern
2019-09-14Fix: inconsistent description for 32bpp-sse4-anim blitter (#7740)glx22
2019-04-10Codechange: Use null pointer literal instead of the NULL macroHenry Wilson
2019-03-24Codechange: Use override specifer for overriding member declarationsHenry Wilson
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.
2019-01-24Codechange: [Blitter] Adjust line-drawing algorithm to reduce wasted ↵Jonathan G Rennison
off-screen work This clips the line segment to be within the screen area prior to pixel iteration.
2019-01-24Fix: [Blitter] Avoid signed overflow when drawing long linesJonathan G Rennison
2019-01-24Codechange: [Blitter] Change DrawLine to be templatedJonathan G Rennison
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.
2018-10-31Doc: Lots and lots of doxymentation fixesCharles Pigott
2018-06-27Codechange: Silence -Wclass-memaccess warnings with GCC8Charles Pigott
2018-05-23Add: 32bpp SSE2 blitter palette animator (#6795)Jonathan G Rennison
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.
2018-04-10Fix: [OSX] Remove some OSX compiler warnings on newer SDKs/compilers.Michael Lutz
2017-03-30(svn r27837) -Fix (r26969): Black remap did nothing in 8bpp-simple blitter.peter1138
2017-03-18(svn r27796) -Fix [FS#6545]: 32bpp-anim blitters assumed that pitch and ↵frosch
width of the screen were equal.
2017-03-11(svn r27774) -Fix [FS#5889]: Enabling palette animation for 32bpp blitters ↵frosch
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.
2016-05-22(svn r27575) -Fix [FS#6404]: Memory leak when disabling palette animation. (JGR)frosch
2014-10-15(svn r27020) -Cleanup: some coding style consistency improvements (mostly ↵rubidium
spaces)
2014-10-06(svn r26970) -Fix (r26969): non-sse animated blitter crashed occasionallyrubidium
2014-10-06(svn r26969) -Fix (r26869): black palette didn't work very well with ↵rubidium
unmasked 32bpp sprites
2014-04-28(svn r26538) -Codechange: remove double accounting of the driversrubidium
2014-04-25(svn r26509) -Codechange: replace strdup with stredup (the latter ensures ↵rubidium
the return is not NULL)
2014-04-23(svn r26482) -Codechange: add an include that allows us to undefine/redefine ↵rubidium
"unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
2014-04-20(svn r26473) -Fix: make sure there is no uninitialised sprite data; the ↵rubidium
other blitters cleared the memory too
2014-04-13(svn r26463) -Fix (r10190ish): Add special handling for PALETTE_CRASH to ↵peter1138
work for non-8bpp-mapped sprites.
2014-02-11(svn r26334) -Fix: 32bit compilation.frosch
2014-01-13(svn r26260) -Codechange: add template parameters for (non) translucent and ↵rubidium
(non) animated sprites, so the least expensive variant can be chosen (MJP)
2014-01-13(svn r26259) -Codechange: add and maintain some general flags about sprites ↵rubidium
to prevent unneeded execution of expensive code (MJP)
2014-01-13(svn r26258) -Codechange: deduplicate Draw methods (MJP)rubidium
2014-01-13(svn r26257) -Codechange: replace most of the SSE macros by functionsrubidium
2014-01-13(svn r26256) -Codechange: do not load some data when it is not (often) used ↵rubidium
later on (MJP)
2014-01-13(svn r26255) -Codechange: improve performance of brightness adjustment (MJP)rubidium
2014-01-13(svn r26254) -Codechange: MOVD is better in some cases than PINSRD (MJP)rubidium
2014-01-13(svn r26253) -Codechange: remove margin limitation to preserve block type (MJP)rubidium
2014-01-13(svn r26252) -Codechange: deduplicate code for margin case (MJP)rubidium
2014-01-13(svn r26251) -Codechange: prepare Draw code for code deduplication (MJP)rubidium
2014-01-13(svn r26250) -Codechange: deduplicate darkening (e.g. shadow) code (MJP)rubidium
2014-01-13(svn r26249) -Codechange: simplify/cleanup ALPHA_BLEND macro (MJP)rubidium
2014-01-13(svn r26248) -Fix (r26223): missed compiler warning (MJP)rubidium
2014-01-13(svn r26247) -Fix [FS#5854, FS#5855]: Possible out of bounds reads with the ↵rubidium
sse blitters (MJP)
2014-01-03(svn r26223) -Codechange: Silence some compile warnings about unititialized ↵planetmaker
variables in the SSE blitters (MJP)
2014-01-03(svn r26222) -Codechange: use SSE instructions for transparent colour ↵rubidium
"remap" in the SSE2/SSSE3 blitters as well
2014-01-03(svn r26221) -Codechange: normalize constant names in anim-sse4 with the ↵rubidium
others (MJP)
2014-01-03(svn r26215) -Codechange: rework code so one can test if a blitter factory ↵rubidium
exists before attempting trying to instantiate an instance
2014-01-02(svn r26214) -Add: specialised animated SSE4 blitter (MJP)rubidium
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.
2014-01-02(svn r26213) -Add: specialised non-animated SSE4 blitter (MJP)rubidium
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
2014-01-02(svn r26212) -Add: specialised non-animated SSSE3 blitter (MJP)rubidium
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