Commit graph

8908 commits

Author SHA1 Message Date
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
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
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
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
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
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
3890c80b1a Fix compile error for msvc 2016-12-01 08:59:47 +01:00
Magnus Norddahl
9416d436fe Move software renderer into its own namespace to isolate its globals and make
any access explicit. This reveals the places in the code where they are being
accessed where they shouldn't and prevents accidental usage.
2016-12-01 02:38:32 +01:00
Magnus Norddahl
1bed6feadc Detach poly renderer from r_main 2016-12-01 00:42:14 +01:00
Magnus Norddahl
34bf581957 Fix new blend mode 2016-11-30 08:51:39 +01:00
Magnus Norddahl
a7a779dd31 Fix race condition 2016-11-30 08:32:05 +01:00
Magnus Norddahl
03282c957b Add a new blend mode for sprites 2016-11-30 07:49:04 +01:00
Magnus Norddahl
284a99f204 Merge branch 'gl_swframebuffer' into qzdoom 2016-11-29 22:16:58 +01:00
Magnus Norddahl
00387a7211 Add bounds check to palette upload buffer size 2016-11-29 22:16:40 +01:00
Edoardo Prezioso
7474be6284 - Fixed GCC/Clang compiler errors and warnings. 2016-11-29 19:46:38 +01:00
Rachael Alexanderson
17c4c4a384 - Fixed: Linker now searches for r_drawerasm.obj in the proper place. This probably broke on Mac and Linux. :( 2016-11-28 20:29:57 -05:00
Rachael Alexanderson
37078f7fef - Fixed: CMake now asks DrawerGen to drop its output into the build folder instead of the source folder. Fixes a linker error. 2016-11-28 19:48:44 -05:00