Commit Graph

432 Commits (ee7fbfc41038bf8078ee62f618c74ba705690bc8)

Author SHA1 Message Date
rubidium 4f48e99c64 (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 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 ec66bd461b (svn r26259) -Codechange: add and maintain some general flags about sprites to prevent unneeded execution of expensive code (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 4585f74faa (svn r26258) -Codechange: deduplicate Draw methods (MJP) 11 years ago
rubidium fdf55a1a48 (svn r26258) -Codechange: deduplicate Draw methods (MJP) 11 years ago
rubidium 3df799c1c6 (svn r26257) -Codechange: replace most of the SSE macros by functions 11 years ago
rubidium f5f4f8a4b3 (svn r26257) -Codechange: replace most of the SSE macros by functions 11 years ago
rubidium 2f3c3d2ba6 (svn r26256) -Codechange: do not load some data when it is not (often) used later on (MJP) 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 5849290640 (svn r26255) -Codechange: improve performance of brightness adjustment (MJP) 11 years ago
rubidium 70901e04c5 (svn r26255) -Codechange: improve performance of brightness adjustment (MJP) 11 years ago
rubidium d263ec2bd9 (svn r26254) -Codechange: MOVD is better in some cases than PINSRD (MJP) 11 years ago
rubidium 2f7c4f6d12 (svn r26254) -Codechange: MOVD is better in some cases than PINSRD (MJP) 11 years ago
rubidium d27f085ef6 (svn r26253) -Codechange: remove margin limitation to preserve block type (MJP) 11 years ago
rubidium 5b3b533697 (svn r26253) -Codechange: remove margin limitation to preserve block type (MJP) 11 years ago
rubidium 3f1550ed2f (svn r26252) -Codechange: deduplicate code for margin case (MJP) 11 years ago
rubidium 7f6e837b3a (svn r26252) -Codechange: deduplicate code for margin case (MJP) 11 years ago
rubidium 64fb166b74 (svn r26251) -Codechange: prepare Draw code for code deduplication (MJP) 11 years ago
rubidium 9a90bed79b (svn r26251) -Codechange: prepare Draw code for code deduplication (MJP) 11 years ago
rubidium 0d43f2f437 (svn r26250) -Codechange: deduplicate darkening (e.g. shadow) code (MJP) 11 years ago
rubidium 6e34672c6c (svn r26250) -Codechange: deduplicate darkening (e.g. shadow) code (MJP) 11 years ago
rubidium b9823410cc (svn r26249) -Codechange: simplify/cleanup ALPHA_BLEND macro (MJP) 11 years ago
rubidium 76661f2c56 (svn r26249) -Codechange: simplify/cleanup ALPHA_BLEND macro (MJP) 11 years ago
rubidium 1b8b8288b0 (svn r26248) -Fix (r26223): missed compiler warning (MJP) 11 years ago
rubidium 31c6e33878 (svn r26248) -Fix (r26223): missed compiler warning (MJP) 11 years ago
rubidium 08d405ea09 (svn r26247) -Fix [FS#5854, FS#5855]: Possible out of bounds reads with the sse blitters (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 b67933bd4d (svn r26223) -Codechange: Silence some compile warnings about unititialized variables in 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 b40b95e2ab (svn r26222) -Codechange: use SSE instructions for transparent colour "remap" in the SSE2/SSSE3 blitters as well 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 dbec2223b1 (svn r26221) -Codechange: normalize constant names in anim-sse4 with the others (MJP) 11 years ago
rubidium 613fb9c6ef (svn r26221) -Codechange: normalize constant names in anim-sse4 with the others (MJP) 11 years ago
rubidium bf4ea2594a (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 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 793dc27096 (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 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 e25733c417 (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 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 730127b67e (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 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 0b08fb44f4 (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
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
rubidium 29405f89ed (svn r26210) -Codechange: add infrastructure for not registering a blitter 11 years ago
rubidium 899c0f9cd2 (svn r26210) -Codechange: add infrastructure for not registering a blitter 11 years ago
rubidium 4a911754b5 (svn r26209) -Codechange: remove some template magic and simplify some code 11 years ago
rubidium 2618d960e3 (svn r26209) -Codechange: remove some template magic and simplify some code 11 years ago
rubidium d709a7f465 (svn r26108) -Codechange: some coding style (whitespace) 11 years ago
rubidium defda16eb6 (svn r26108) -Codechange: some coding style (whitespace) 11 years ago
rubidium c5727f49d9 (svn r26103) -Fix: prevent odd overflows due to integer promotion 11 years ago
rubidium f817b06c18 (svn r26103) -Fix: prevent odd overflows due to integer promotion 11 years ago
rubidium 99910d0d4f (svn r25958) -Fix: overriding method of DrawLine was not updated when parameters were added making it non-functional 11 years ago
rubidium 14b8f6e594 (svn r25958) -Fix: overriding method of DrawLine was not updated when parameters were added making it non-functional 11 years ago
fonsinchen 19661eeef8 (svn r25911) -Add: Support for drawing dashed lines. 11 years ago
fonsinchen 89b7afbac8 (svn r25911) -Add: Support for drawing dashed lines. 11 years ago
frosch 554e14420c (svn r25820) -Codechange: More const-ness. 11 years ago
frosch 640d39c001 (svn r25820) -Codechange: More const-ness. 11 years ago
planetmaker f00d9976f9 (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 12 years ago
planetmaker c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 12 years ago
frosch 3a0611f792 (svn r24610) -Change: [NewGRF] Set the reference brightness of 32bpp mask recolouring to 128. 12 years ago
frosch e4416d6a0c (svn r24610) -Change: [NewGRF] Set the reference brightness of 32bpp mask recolouring to 128. 12 years ago
rubidium ddae614e74 (svn r24111) -Codechange: use Colour more instead of manually bitstuffing 12 years ago
rubidium 54e36c4ff8 (svn r24111) -Codechange: use Colour more instead of manually bitstuffing 12 years ago
frosch b421b2a97a (svn r23989) -Fix-ish: Zero the offsets of disabled zoomlevels. 13 years ago
frosch 058017e178 (svn r23989) -Fix-ish: Zero the offsets of disabled zoomlevels. 13 years ago
frosch d8db4e3e9e (svn r23988) -Fix: Typo in comment. 13 years ago
frosch dac51654fe (svn r23988) -Fix: Typo in comment. 13 years ago
rubidium 46894cc2b7 (svn r23927) -Fix [FS#5056]: 32bpp animated blitter was optimised a bit too far regarding not needing to update the colour mapping when (re)initialising the palette 13 years ago
rubidium 0e925c9e5e (svn r23927) -Fix [FS#5056]: 32bpp animated blitter was optimised a bit too far regarding not needing to update the colour mapping when (re)initialising the palette 13 years ago
michi_cc a55a77cbae (svn r23889) -Codechange: Centralise sprite resizing in one place. (peter1138) 13 years ago
michi_cc e85d5b5d31 (svn r23889) -Codechange: Centralise sprite resizing in one place. (peter1138) 13 years ago
rubidium d5eeab43b7 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 13 years ago
rubidium 6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 13 years ago
truebrain dea311a07e (svn r23729) -Fix (r23670) [FS#4941]: if you increase the buffer size, also increase the bytes per pixel 13 years ago
truebrain 2aa6086256 (svn r23729) -Fix (r23670) [FS#4941]: if you increase the buffer size, also increase the bytes per pixel 13 years ago
truebrain ee94a7512e (svn r23727) -Codechange: speedup the 32bpp palette animation by reducing the amount of compares. This is possible because the function is called with only 2 possible conditions: from 0 to 255 (full palette update, 8bpp only) or from PALETTE_ANIM_START to 255 13 years ago
truebrain 8dbb654e39 (svn r23727) -Codechange: speedup the 32bpp palette animation by reducing the amount of compares. This is possible because the function is called with only 2 possible conditions: from 0 to 255 (full palette update, 8bpp only) or from PALETTE_ANIM_START to 255 13 years ago
peter1138 570d2dcbed (svn r23726) -Fix (r23670): Remove debugging code added accidentally 13 years ago
peter1138 4da7f2b723 (svn r23726) -Fix (r23670): Remove debugging code added accidentally 13 years ago
michi_cc c54c4398b1 (svn r23674) -Fix (r23670): Don't read invalid memory in the 32bpp simple blitter. 13 years ago
michi_cc 47171c7829 (svn r23674) -Fix (r23670): Don't read invalid memory in the 32bpp simple blitter. 13 years ago
peter1138 42347d3c45 (svn r23670) -Feature: Add ability to adjust brightness of colour after remapping for 32bpp sprites 13 years ago
peter1138 3ef77e55c5 (svn r23670) -Feature: Add ability to adjust brightness of colour after remapping for 32bpp sprites 13 years ago
smatz 36747f96a6 (svn r23588) -Codechange: use the 'final' keyword so compiler can optimise out some indirect calls 13 years ago
smatz 33d283fdb1 (svn r23588) -Codechange: use the 'final' keyword so compiler can optimise out some indirect calls 13 years ago
rubidium e6c46d4cf4 (svn r23448) -Fix: keep a local copy of the palette in the 32bpp animated blitter so changes of the palette data during the game don't influence drawing (with SDL) 13 years ago
rubidium 61625e53c9 (svn r23448) -Fix: keep a local copy of the palette in the 32bpp animated blitter so changes of the palette data during the game don't influence drawing (with SDL) 13 years ago
rubidium a531ec1899 (svn r23446) -Codechange: move _cur_palette and it's related first/count dirty variables into a single structure 13 years ago
rubidium 2ccbd2a6f5 (svn r23446) -Codechange: move _cur_palette and it's related first/count dirty variables into a single structure 13 years ago
frosch 4b0b43da2e (svn r23343) -Fix (r23332): Incorrect encoding of sprites with much transparency. 13 years ago
frosch f8478cecb3 (svn r23343) -Fix (r23332): Incorrect encoding of sprites with much transparency. 13 years ago
peter1138 fad1c81243 (svn r23332) -Fix (r23316): Length of transparent pixels could exceed a byte. (frosch) 13 years ago
peter1138 cd6249dfc5 (svn r23332) -Fix (r23316): Length of transparent pixels could exceed a byte. (frosch) 13 years ago
peter1138 9e0e4bf639 (svn r23315) -Codechange: Only encode sprites for zoom levels that will be used. 13 years ago
peter1138 15d0a22aac (svn r23315) -Codechange: Only encode sprites for zoom levels that will be used. 13 years ago
truebrain e271463efa (svn r23311) -Remove: removed the silly blitter called 8bpp-debug. You can find him at the same place as you can find CTRL+D. Sorry for those who liked to trip while playing OpenTTD; I truly am sorry :D 13 years ago
truebrain ecbe29ecb7 (svn r23311) -Remove: removed the silly blitter called 8bpp-debug. You can find him at the same place as you can find CTRL+D. Sorry for those who liked to trip while playing OpenTTD; I truly am sorry :D 13 years ago
rubidium 33d71b45fe (svn r23198) -Codechange: introduce a free that takes const pointers so we don't need to cast to void/non-const before being able to free 13 years ago
rubidium 7fd1e1df81 (svn r23198) -Codechange: introduce a free that takes const pointers so we don't need to cast to void/non-const before being able to free 13 years ago
rubidium 3053d8e3b5 (svn r23194) -Codechange: don't cast away const needlessly 13 years ago
rubidium 4f87d2e88c (svn r23194) -Codechange: don't cast away const needlessly 13 years ago
peter1138 504c018c2e (svn r23016) -Change: Disable palette animation for pixels with alpha, as the alpha and previous colour information will be lost when the palette is animated. 13 years ago
peter1138 719f6618d7 (svn r23016) -Change: Disable palette animation for pixels with alpha, as the alpha and previous colour information will be lost when the palette is animated. 13 years ago
michi_cc 7b35dd4f54 (svn r23000) -Feature: Base graphics sets can now specify a preferred blitter which OpenTTD uses to decide which blitter to load. 13 years ago
michi_cc c575b5bbd7 (svn r23000) -Feature: Base graphics sets can now specify a preferred blitter which OpenTTD uses to decide which blitter to load. 13 years ago
frosch ca1469b782 (svn r22439) -Fix (r22291, r22426): Drawing lines of length zero failed. 13 years ago
frosch b7c6424104 (svn r22439) -Fix (r22291, r22426): Drawing lines of length zero failed. 13 years ago
frosch d3f23f0fbd (svn r22426) -Fix (r22291): Drawing vertical and horizontal lines of width 1 missed drawing the first pixel. 13 years ago
frosch f976cddcba (svn r22426) -Fix (r22291): Drawing vertical and horizontal lines of width 1 missed drawing the first pixel. 13 years ago
frosch 74e71380ef (svn r22419) -Change: Always use the DOS palette for drawing.
-Remove: the '-i' option for palette selection.
13 years ago
frosch bbcd2bab5d (svn r22419) -Change: Always use the DOS palette for drawing.
-Remove: the '-i' option for palette selection.
13 years ago
rubidium 7dfcc69011 (svn r22397) -Document: some tidbits of the blitter code 13 years ago
rubidium 485c7cd99e (svn r22397) -Document: some tidbits of the blitter code 13 years ago
frosch facd1301fc (svn r22383) -Codechange: Rename PALETTE_TO_STRUCT_GREY to PALETTE_NEWSPAPER as it does not belong to the other PALETTE_TO_STRUCT_xxx recolourings. 13 years ago
frosch 1ffd720f81 (svn r22383) -Codechange: Rename PALETTE_TO_STRUCT_GREY to PALETTE_NEWSPAPER as it does not belong to the other PALETTE_TO_STRUCT_xxx recolourings. 13 years ago
frosch 1db0b427d9 (svn r22302) -Codechange: Replace a linear search with a binary search. 13 years ago
frosch ecb3701210 (svn r22302) -Codechange: Replace a linear search with a binary search. 13 years ago
frosch c81c55e008 (svn r22291) -Add: a linewidth argument to GfxDrawLine() and Blitter::DrawLine(). 13 years ago
frosch b18211bb9d (svn r22291) -Add: a linewidth argument to GfxDrawLine() and Blitter::DrawLine(). 13 years ago
frosch d0511a0f74 (svn r22290) -Codechange: Somewhat deduplicate one line of code. 13 years ago
frosch 7659575cfa (svn r22290) -Codechange: Somewhat deduplicate one line of code. 13 years ago
frosch 81b419c7d5 (svn r22288) -Codechange: Deduplicate Blitter_8bppBase::DrawLine() and Blitter_32bppBase::DrawLine() into Blitter::DrawLine(). 13 years ago
frosch 004c93f9da (svn r22288) -Codechange: Deduplicate Blitter_8bppBase::DrawLine() and Blitter_32bppBase::DrawLine() into Blitter::DrawLine(). 13 years ago
rubidium 05199a641a (svn r21890) -Cleanup: remove some unneeded includes 14 years ago
rubidium 7eba2bf4d3 (svn r21890) -Cleanup: remove some unneeded includes 14 years ago
frosch dfff637487 (svn r21782) -Codechange: Move declaration of AllocatorProc from Blitter:: to spritecache.h 14 years ago
frosch 3d1008318b (svn r21782) -Codechange: Move declaration of AllocatorProc from Blitter:: to spritecache.h 14 years ago
rubidium 8c85b4ce3d (svn r20281) -Codechange: unify case scope closure + break coding style 14 years ago
rubidium e356cb9405 (svn r20281) -Codechange: unify case scope closure + break coding style 14 years ago
alberth e3b24801e2 (svn r19132) -Codechange: No need to end a line with ;;. 15 years ago
alberth 33a96b5ef3 (svn r19132) -Codechange: No need to end a line with ;;. 15 years ago
yexo 9a80d81f4c (svn r19094) -Codechange: don't check for NULL values before calling StrEmpty 15 years ago
yexo 6406b75b8f (svn r19094) -Codechange: don't check for NULL values before calling StrEmpty 15 years ago
alberth 206c1b4cd0 (svn r18907) -Cleanup: Smallmap was the last user of SetPixelIfEmpty(). 15 years ago
alberth b2f9b0ac43 (svn r18907) -Cleanup: Smallmap was the last user of SetPixelIfEmpty(). 15 years ago
rubidium 72ce1f4979 (svn r18873) -Codechange: use PaletteID also in the blitter 15 years ago
rubidium db33e32b4d (svn r18873) -Codechange: use PaletteID also in the blitter 15 years ago
rubidium 9467b7c6d6 (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 15 years ago
rubidium 82fc28f77f (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 15 years ago
rubidium d39be5715f (svn r18791) -Fix [FS#3504]: when copying an 'image' back into the buffer the 32bpp anim blitter triggered palette check of the whole window instead of only the part the got copied back 15 years ago
rubidium 70aad27dcb (svn r18791) -Fix [FS#3504]: when copying an 'image' back into the buffer the 32bpp anim blitter triggered palette check of the whole window instead of only the part the got copied back 15 years ago
peter1138 ebe260f575 (svn r18709) -Fix (r10227,FS#3464): Animation buffer for 32bpp-anim blitter was only validated during sprite blitting, other drawing operations didn't check it. Initial startup and window resize could therefore lead to crash. 15 years ago
peter1138 abb147d974 (svn r18709) -Fix (r10227,FS#3464): Animation buffer for 32bpp-anim blitter was only validated during sprite blitting, other drawing operations didn't check it. Initial startup and window resize could therefore lead to crash. 15 years ago
rubidium 982b8ee5fc (svn r17693) -Cleanup: remove some unneeded includes 15 years ago
rubidium d6cded5380 (svn r17693) -Cleanup: remove some unneeded includes 15 years ago
rubidium 2e5596025c (svn r17579) -Fix: remove doxygen docs for removed parameters, or change @param to @tparam if necessary 15 years ago
rubidium ca91a97826 (svn r17579) -Fix: remove doxygen docs for removed parameters, or change @param to @tparam if necessary 15 years ago
rubidium 310465da07 (svn r17570) -Fix: a number of Doxygen warnings about missing parameters, which were sometimes missing and sometimes just typos 15 years ago
rubidium e8ddf001c8 (svn r17570) -Fix: a number of Doxygen warnings about missing parameters, which were sometimes missing and sometimes just typos 15 years ago