Commit Graph

9844 Commits

Author SHA1 Message Date
Magnus Norddahl d8a3174330 Thread awareness to the span drawers 2016-12-05 12:47:43 +01:00
Magnus Norddahl 2ca0238e2f Add column drawers 2016-12-05 12:41:16 +01:00
Magnus Norddahl bc66682860 Add sky drawers 2016-12-05 12:16:10 +01:00
Magnus Norddahl b755f489a3 Fix types 2016-12-05 12:01:03 +01:00
Magnus Norddahl 3b2d4fcff2 Added span drawers 2016-12-05 11:59:48 +01:00
Magnus Norddahl 645aed62d1 Add wall drawers 2016-12-05 11:38:21 +01:00
Magnus Norddahl dfbd7fd2ad Add drawer commands for pal mode 2016-12-05 10:44:24 +01:00
Magnus Norddahl 7ffab207cb Move rgba drawers to be dispatched by r_draw_tc 2016-12-05 09:22:45 +01:00
Magnus Norddahl 8a12d040de Merge remote-tracking branch 'zdoom/master' into qzdoom
# Conflicts:
#	src/r_draw.cpp
#	src/r_draw.h
2016-12-05 08:22:04 +01:00
Magnus Norddahl 2f3a6da295 Fix buffer overrun 2016-12-05 04:05:55 +01:00
Christoph Oelckers c0a622eb54 - removed pointless assignment. 2016-12-05 02:08:26 +01:00
Rachael Alexanderson 659abc9451 - Removed vestigial prototype. 2016-12-04 19:18:13 -05:00
Christoph Oelckers 28f9216e7b - fixed a few prototypes. 2016-12-04 19:16:40 -05:00
Christoph Oelckers f6fb27b683 - deleted rt_copy*col and rt_map*col assembly versions after running benchmarks that show inferior performance to the C++ versions on both older and newer CPUs. 2016-12-05 00:46:58 +01:00
Christoph Oelckers 86fcc3fd21 - added a heavily optimized version of vlinec4 for x64. The original loaded everything from the global variables. While this is acceptable in 32 bit code because it has an immediate register load instruction, for 64 bit this does not exist. Accessing these variables from the stack or a register doubles the execution speed of this function and on a Core i7-3770 from 2012 is even faster than the assembly version. Right now the assembly version is still there, pending a benchmark run on an older 64 bit system. 2016-12-04 23:53:36 +01:00
Christoph Oelckers f4454d2e00 - minor, but very effective optimization for R_DrawSpanMasked: Do not store the texel value in a byte. Store it in a local int variable. This allows the compiler to read it with a zero extending instruction instead of using a byte reading instruction and then later having it to convert to an int anyway. This removes one instruction from the loop which results in a 10% performance increase on 32 bit. 2016-12-04 19:32:54 +01:00
Christoph Oelckers c9caaf08c8 - removed asm version of R_DrawFuzzColumn, because even on my 9 year old laptop this was significantly slower than the C version. 2016-12-04 18:38:38 +01:00
Magnus Norddahl dc2bd8a5e3 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-12-04 18:19:11 +01:00
Magnus Norddahl 86c1bbcdeb Split drawergen file into more files 2016-12-04 18:19:01 +01:00
Christoph Oelckers 13efb34964 - removed the asm version of R_DrawColumn because it doesn't provide any significant benefit.
On modern systems it is actually slower than the C version, only on old ones it is marginally faster - but the overall execution time for this function is so low that even in the worst case scenario the minor loss of performance on older systems is still not relevant.
2016-12-04 18:05:34 +01:00
Christoph Oelckers 8fd03bc4a3 - fixed a few prototypes. 2016-12-04 16:57:10 +01:00
Rachael Alexanderson c59925085c - Removal of the ASM functions resulted in failed compile when NO_ASM is set. 2016-12-04 10:05:01 -05:00
Rachael Alexanderson 4196a4d055 Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-04 09:34:49 -05:00
Rachael Alexanderson 7f86a5148c Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/r_draw.cpp
2016-12-04 09:33:06 -05:00
Christoph Oelckers 93163d12f1 - removed R_DrawColumnHorizP_ASM completely after discovering that the compiler generated code isn't really anything worse than the old assembly code. This looks like something that may have been relevant 10 years ago but today it looks like there's no need for hand optimization here anymore. And since it appears to be broken anyway, off this goes. 2016-12-04 15:31:08 +01:00
Christoph Oelckers d0cf34890c - disabled R_DrawColumnHorizP_ASM because that function appears prone to crashing when rendering decals. 2016-12-04 15:01:48 +01:00
Magnus Norddahl 0ed0c47a45 Optimize capped sky rendering by writing 4 pixels at a time in 5 bands (solid, fade, texture, fade, solid) 2016-12-04 14:28:13 +01:00
Edoardo Prezioso 0cff443945 - Fixed missing linebreak in 'currentpos' error message. 2016-12-04 10:25:23 +01:00
Edoardo Prezioso c99a051a2a - Added lambda feature to FString::(Strip|Replace)Chars.
Use it in the other (Strip|Replace)Chars methods to show how it would work.
2016-12-04 10:24:49 +01:00
Magnus Norddahl 2e1e202812 Add linear filtering 2016-12-04 05:52:13 +01:00
Magnus Norddahl 36f168040e Fix null pointer crash bug 2016-12-04 03:12:40 +01:00
Rachael Alexanderson 244eaa99b3 Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-03 13:23:28 -05:00
Christoph Oelckers 30cbce051e - fixed: Custom automap colors were not invalidated on restart.
- fixed: D_DoomMain has 3 calls to D_DoomLoop but only the main call of these was capable of a clean restart.
2016-12-03 15:44:46 +01:00
Magnus Norddahl d504931a80 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-12-03 14:59:05 +01:00
Magnus Norddahl e09c7d239f Adjust class naming to closer match the GZDoom renderer and split portal rendering part to its own file 2016-12-03 14:58:56 +01:00
Christoph Oelckers 5117b32431 - fixed: The math for emulating the old slop overflow was not correct and made the affected sectors in void.wad display incorrectly.
- set compat_polyobj for void.wad because its polyobjects glitch quite a bit with the normal setting.
2016-12-03 14:42:06 +01:00
Christoph Oelckers 28604bad62 - fixed: The polyobject init specials must be cleared after Polyobject initialization is done, because they can block usage of regular lines colinear with the polyobject 2016-12-03 14:06:51 +01:00
Rachael Alexanderson fc2ae9ecc3 Delete DelLLVMCache.cmd
This file is now vestigial and no longer needed.
2016-12-03 02:18:29 -05:00
Magnus Norddahl dbacb75617 Capped sky rendering 2016-12-03 06:58:06 +01:00
Magnus Norddahl ff063a33b5 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-12-03 05:02:42 +01:00
Magnus Norddahl 04e981dba0 Fix up/down culling issue 2016-12-03 05:02:34 +01:00
Rachael Alexanderson c95372052c Merge branch 'master' of https://github.com/rheit/zdoom 2016-12-02 16:39:50 -05:00
Christoph Oelckers 87d2991256 - removed all cluster music definitions so that the default from the gameinfo section can be used to change it. 2016-12-02 20:13:30 +01:00
Christoph Oelckers 60b1f5c25a - fixed: FPNGTexture::fr could be left uninitialized. 2016-12-02 19:38:30 +01:00
Edoardo Prezioso 9dbfa6d04e - Fixed uninitialized line number info in thing map parsing. 2016-12-02 14:54:32 +01:00
Magnus Norddahl ce6e1e1e47 Fully hook up sprite clipping by subsector 2016-12-02 13:24:53 +01:00
Magnus Norddahl 01008f0daa Fix sprite bsp clipping bug and wall sorting bug 2016-12-02 13:06:16 +01:00
Magnus Norddahl 71350f2c17 Sprite line clipping by subsector 2016-12-02 08:12:01 +01:00
Magnus Norddahl fc16f6bbbc Further improve early stencil rejection test by restoring stencil blocks to a single value if possible 2016-12-01 13:31:42 +01:00
Magnus Norddahl 06362385d6 Improve performance by 30% from using a better stencil block rejection test 2016-12-01 11:21:14 +01:00