Magnus Norddahl
4fd4bfa092
Merge remote-tracking branch 'origin/master' into polybackend
2019-05-24 19:21:36 +02:00
Magnus Norddahl
756c593e96
- create a new error class for vulkan errors as they are only recoverable during initialization (unlike CRecoverableError which is recoverable during normal processing)
...
- improve vulkan errors by including the status code returned by vulkan if they fail
2019-05-23 14:09:05 +02:00
Magnus Norddahl
0eda298db2
- create a renderer backend based on softpoly's drawers
2019-05-22 06:29:52 +02:00
Rachael Alexanderson
09a2b53b21
- rename vid_backend
to vid_enablevulkan
. Also changed the CVAR from a 0-state enable to 1-state. So vid_enablevulkan==1
enables vulkan now. This should be less confusing.
2019-04-16 08:10:57 -04:00
Christoph Oelckers
ab256945aa
- use I_Error for throwing errors in the Vulkan backend and print the message if one gets thrown during init.
2019-04-08 23:48:46 +02:00
Magnus Norddahl
9f0f659db0
- remove old vid_maxfps implementations as they were garbage anyway and the new one works on all the platforms
2019-03-26 11:10:17 +01:00
Christoph Oelckers
a0b0467e91
- restrict Vulkan to 64 bit builds.
2019-03-24 14:34:48 +01:00
alexey.lysiuk
7b5eedea32
- implemented OpenGL / Vulkan switch in SDL backend
2019-03-12 16:12:14 +02:00
Rachael Alexanderson
6be5769746
- implement backend switcher for Windows. NYD: Still needs to be done for Mac and Linux
2019-03-11 23:36:44 -04:00
Magnus Norddahl
c6b29846d0
- add 3rd party vulkan dependencies
...
- add stubs for a vulkan hw renderer backend
- add RAII wrappers for vulkan object types
- add builder classes to isolate vulkan boilerplate code
- add a swap chain class
2019-02-20 21:21:57 +01:00
Christoph Oelckers
f6a91e1722
- moved the I_Error prototypes to doomerrors.h to avoid having to include the low level system header for this.
2019-01-31 19:38:04 +01:00
Christoph Oelckers
3b53f31da3
- default to fullscreen display.
2018-07-28 10:05:50 +02:00
Christoph Oelckers
1519514dd7
- split Win32GLVideo in two so that the OpenGL independent part can be used for Vulkan as well.
2018-06-24 20:47:00 +02:00
Christoph Oelckers
babe55819e
- fullscreen toggle and some cleanup. Not fully working yet.
2018-06-17 22:11:35 +02:00
Christoph Oelckers
b65b83edb3
- removed the hard screen resolution switch that still was present on Windows and cleaned up the entire video backend code from the remaining support code for this.
...
Like Linux and macOS this will only support borderless fullscreen in the active desktop resolution now, which is what modern systems need.
The list of discrete resolutions has been removed as it makes no sense anymore with a fixed video mode - all the other scaling options remain active, though.
2018-06-17 20:08:35 +02:00
Christoph Oelckers
dc2a5b0cc9
- consolidated the 3 identical versions of I_CheckResolution and I_ClosestResolution.
2018-06-17 12:30:01 +02:00
alexey.lysiuk
2ae8d39441
Removed all superfluous #include's
...
Automatically optimized by CLion IDE with manual corrections
2018-04-24 14:30:35 +03:00
Christoph Oelckers
df4f435952
- merged vid_renderer, swtruecolor and r_polyrender into one CVAR to reduce menu clutter.
...
- with renderers freely switchable, some shortcuts in the 3D floor code had to be removed, because now the hardware renderer can get FF_THISINSIDE-flagged 3D floors.
- changed handling of attenuated lights in the legacy renderer to be adjusted when being rendered instead of when being spawned. For the software renderer the light needs to retain its original values.
2018-04-07 23:30:28 +02:00
Christoph Oelckers
5fbc723842
- live switching of the renderer works.
2018-04-07 12:59:04 +02:00
Christoph Oelckers
d474b849a5
- removed the remaining calls from the FRenderer interface from the main game code.
...
This does not work with a setup where the same backend is driving both renderers.
Most of this is now routed through 'screen', and the decision between renderers has to be made inside the actual render functions.
The software renderer is still driven by a thin opaque interface to keep it mostly an isolated module.
2018-04-04 00:21:25 +02:00
Christoph Oelckers
9ba32cb994
- with the new order of things we need the software renderer to be always available.
2018-04-03 20:14:26 +02:00
Christoph Oelckers
51bf2eb9fa
- took GetMaxViewPitch out of renderer interfaces.
...
With live switching and both renderers on the same backend the old approach will no longer work.
2018-04-03 19:18:16 +02:00
Christoph Oelckers
6cd26dec01
- remove some dead code.
2018-03-31 00:25:15 +02:00
Christoph Oelckers
a001a5304d
- removed the old software renderer framebuffers for Windows
...
This cannot be refactored with the old code still present and done properly both renderers should share what they can.
2018-03-30 23:18:25 +02:00
Christoph Oelckers
29ad081368
- removed remaining DirectDraw code and a few other things that are no longer being used.
2018-03-27 21:04:01 +02:00
Christoph Oelckers
f2f649bf77
- put all stats related code into one file.
2018-03-12 19:33:48 +01:00
Christoph Oelckers
d2fa4d0ff9
- most stat stuff done.
2018-03-12 19:33:48 +01:00
Rachael Alexanderson
c15e868b0f
- implemented anonymous stats collector
2018-03-12 19:33:48 +01:00
Rachael Alexanderson
938cd3cabe
- implemented win_borderless for fake fullscreen in Windows
2017-12-07 06:32:51 -05:00
Magnus Norddahl
1a4cf16168
- Fix swtruecolor cvar messing up the chosen video mode
2017-07-23 20:54:03 +02:00
Magnus Norddahl
c3702ae9e7
Add vid_scalemode support to GL framebuffer
2017-07-23 00:33:56 +02:00
Magnus Norddahl
c8e713b067
- Remember maximized window state
2017-07-09 15:12:31 +02:00
Rachael Alexanderson
4545bb2fa1
- rename vid_used3d on windows to vid_glswfb to match Linux. Additionally, the values were reversed to match the Linux variant of this configuration. This CVar now operates exactly the same way it does on Linux, except it defaults to being off and still allows the D3D framebuffer on Windows when it's deactivated.
2017-05-27 04:52:43 -04:00
Rachael Alexanderson
aae9b33198
- fixed: Swapping swtruecolor no longer crashes in OpenGL mode after selecting Software in the menu
2017-04-30 07:39:00 -04:00
Christoph Oelckers
dc5a5419fc
- took DCanvas and all its subtypes out of the DObject tree.
...
I have no idea why they were even in there, as they intentionally circumvented all GC related features - they declared themselves fixed if prone to getting collected, they all used OF_YesReallyDelete when destroying themselves and they never used any of the object creation or RTTI features, aside from a single assert in V_Init2.
Essentially they were a drag on the system and OF_YesReallyDelete was effectively added just to deal with the canvases which were DObjects but not supposed to behave like them in the first place.
2017-04-14 10:48:18 +02:00
Christoph Oelckers
fec958cc0a
- finally managed to get rid of the DWORD type.
...
This one was particularly nasty because Windows also defines a DWORD, but in Windows it is an unsigned long, not an unsigned int so changing types caused type conflicts and not all could be removed.
Those referring to the Windows type have to be kept, fortunately they are mostly in the Win32 directory, with a handful of exceptions elsewhere.
2017-03-10 19:46:22 +01:00
Rachael Alexanderson
536e8fad19
- Make QZDoom GZDoom again!
2017-03-09 11:51:42 -05:00
Rachael Alexanderson
4ebd25171c
- Implemented a simple graphics switch. This currently affects NVidia Optimus-enabled notebooks only.
2017-03-01 09:58:56 -05:00
Magnus Norddahl
2659090e1c
Move renders into folders
2016-12-27 06:31:55 +01:00
Rachael Alexanderson
383a59259a
Revert "Merge commit 'refs/pull/122/head' of https://github.com/coelckers/gzdoom "
...
This reverts commit 71b4f57058
, reversing
changes made to 449d4963ae
.
2016-11-25 21:02:18 -05:00
Rachael Alexanderson
71b4f57058
Merge commit 'refs/pull/122/head' of https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/posix/cocoa/i_video.mm
# src/posix/sdl/hardware.cpp
# src/win32/hardware.cpp
2016-11-16 01:03:32 -05:00
Rachael Alexanderson
813030efef
- Fully implemented CVAR_OVERRIDEGET for vid_renderer from the ZDoom code submission.
2016-11-15 20:03:50 -05:00
Rachael Alexanderson
11a98bec7e
- fixed: Compiler error in hardware.cpp (vid_forceddraw)
2016-10-21 18:18:48 -04:00
Rachael Alexanderson
16fded31e1
- Show current renderer on startup. This is for diagnostic purposes when we ask people for their startup logs so we know what key settings are being used when there is a problem.
2016-10-21 17:53:21 -04:00
Magnus Norddahl
c9a9e93c66
Fix warning C4805: '!=': unsafe mix of type 'bool' and type 'int' in operation
2016-10-17 11:54:03 +02:00
raa-eruanna
931d241056
- Change "vid_used3d" to true by default, in Windows.
2016-10-17 01:13:58 -04:00
raa-eruanna
5e458866bc
- Added CVAR handling for vid_used3d - allows to switch software mode canvas between OpenGL and Direct3D upon restart.
2016-10-11 17:10:54 -04:00
Magnus Norddahl
f5c069c759
Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom
2016-10-11 14:54:18 +02:00
Magnus Norddahl
7911302ad8
Hook in gamma shader
2016-10-11 13:09:32 +02:00
Magnus Norddahl
01dc9de8d1
Misc bug fixes and performance improvements
2016-10-11 10:27:18 +02:00