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
Magnus Norddahl
e3b3b7a4ce
Masked store experiment (which turned out to be much slower)
2016-12-01 10:52:53 +01:00
Magnus Norddahl
c89e023bd5
Remove unused left/top clip
2016-12-01 09:31:43 +01:00
Magnus Norddahl
2203da0c93
Minor simplification of the light calculation
2016-12-01 09:00:24 +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
fdbf2ab5e9
Fix compile errors for LLVM 3.8
2016-11-30 17:37:32 +01:00