Commit graph

273 commits

Author SHA1 Message Date
Robert Beckebans
8a821c3a7a Astyle 2022-11-18 16:47:29 +01:00
Stephen Saunders
96347cab74 Minor defensive #ifdef change in sdl_vkimp for SetScreenParmsWindowed() - handle non-macOS / non-linux case 2022-11-18 10:30:08 -05:00
Stephen Saunders
afacd8014c Improve timer stats, get / set displayFrequency, implement Vulkan vsync mode 1, fix DX12 vsync mode 0 for fullscreen 2022-11-17 23:42:06 -05:00
Stephen Saunders
7a7571f88a Fix window resize/fullscreen handling and make consistent between DX12 and Vulkan (Windows & SDL) 2022-11-11 21:51:31 -05:00
Stephen Saunders
f5745b4ab6 Support window resize and fullscreen changes on Windows and Linux without validation errors 2022-11-10 14:56:18 -05:00
Stephen Saunders
f6e5571d39 Support image depth/stencil format D32S8 when D24S8 not available (e.g. Vulkan on AMD GPUs) 2022-11-10 14:50:09 -05:00
Stephen Saunders
80c56e573d Fix compile errors: DeviceManager.h include path for DX12, sync2 structure initialization typo for Vulkan 2022-11-10 12:19:54 -05:00
Stephen Saunders
f756ef26c2 Move DeviceManager_<API>.cpp files to neo/sys directory for single stream common maintenance 2022-11-08 16:33:29 -05:00
Stephen Saunders
7703d4221d Vulkan timer query fixes, support in-game display mode / window size / vsync changes 2022-11-08 15:27:09 -05:00
Stephen Saunders
1adedfd3fc Vulkan volatile buffer and validation error fixes (sync2, fillModeNonSolid, MoltenVK imageViewFormatSwizzle) 2022-11-08 15:21:50 -05:00
Robert Beckebans
600e50ad50 Astyle 2022-11-03 18:54:38 +01:00
Stephen Saunders
9734df5f01 Fix NVRHI device shutdown for SDL and do additional resource cleanup on exit 2022-10-28 14:11:10 -04:00
Robert Beckebans
bdea96cc2a Astyle 2022-10-25 19:11:22 +02:00
Stephen Saunders
9eef374819 Update DeviceManager_VK.cpp for Windows and SDL (linux + macOS) cross-platform portability 2022-10-23 23:31:12 -04:00
Stephen Saunders
2ffb89c80e Fix builtin/VR case sensitivity on linux, fix r_useValidationsLayers on macOS when USE_MoltenVK set 2022-10-23 08:45:53 -04:00
Stephen Saunders
86bcffdd00 Build / Source changes for NVRHI on SDL, source cleanup for clang C++17 std, initial macOS NVRHI implementation 2022-10-21 23:46:42 -04:00
Robert Beckebans
c55467ef33 Fixed several Vulkan errors 2022-09-22 20:08:07 +02:00
Robert Beckebans
1d456a9026 Probably fixed Vulkan swapchain problem 2022-09-22 18:34:07 +02:00
Robert Beckebans
9307983475 Some code to debug the NVRHI swapchain problem 2022-09-17 20:01:06 +02:00
Robert Beckebans
374897f750 Merge branch '679-gltf-map-support2' into 679-gltf-map-support 2022-07-02 12:55:10 +02:00
Robert Beckebans
fd6c589da0 ( ), ( void ) -> () 2022-06-18 10:43:30 +02:00
Robert Beckebans
d3382b03e2 Outcommented broken SMAA and MSAA options 2022-05-29 15:51:07 +02:00
Robert Beckebans
f1139f7a33 Fixed unknown event 772 error on Linux 2022-05-09 14:07:19 +02:00
Robert Beckebans
6cd2b98491 TAA is working. Fixed wrong output resolution 2022-04-13 22:05:05 +02:00
Robert Beckebans
62429d8f46 Optimized perf by fixing several issues with the GPU<->CPU syncing 2022-03-23 20:22:05 +01:00
Robert Beckebans
d4f1d99bd7 Some work on GPU Skinning and Vulkan debugging 2022-03-22 20:46:44 +01:00
Robert Beckebans
51d317543c Sync NVRHI branch by SP 2022-03-22 11:16:44 +01:00
Robert Beckebans
85ff5d2a66 Use FataError for NVRHI errors so we get an small info window later on 2022-03-15 17:06:36 +01:00
Robert Beckebans
91ae3aa3ed Sync NVRHI branch by SP 2022-03-15 11:41:56 +01:00
Robert Beckebans
fd7802dfb4 Sync NVRHI branch by SP 2022-03-14 10:00:30 +01:00
Robert Beckebans
67a0768560 Fixed sRGB and screen size problems with the DX12 device manager 2022-03-11 11:44:07 +01:00
Robert Beckebans
01a86e2b3d Fixed flash light shadow maps 2022-03-10 20:20:48 +01:00
Robert Beckebans
28c756b1d7 Don't resize Framebuffers after device shutdown 2022-03-10 19:42:43 +01:00
Robert Beckebans
1d93ad0a58 It can start and load a map! 2022-02-21 21:26:36 +01:00
Robert Beckebans
535e56f580 It's compiling! 2022-02-21 19:56:21 +01:00
Robert Beckebans
9b4b93e8ef Added missing files 2022-02-21 18:15:56 +01:00
Robert Beckebans
c37dc4e04e NVRHI merge by Stephen Pridham part 2 2022-02-21 17:59:13 +01:00
Robert Beckebans
c23709c2db Formatted code with Astyle 2022-02-12 12:55:46 +01:00
Stephen Saunders
0c6e72be37 Improve Vulkan instance extension setup, add Vulkan instance and driver info to gfxInfo
(cherry picked from commit 631358eda14468bdc3f8dd5c0ed7998b8e0be0eb)
2022-01-19 23:40:45 -05:00
Robert Beckebans
9b5919ab22 Fixed DPI Scaling problems #616 2021-10-28 11:16:11 +02:00
Stephen Saunders
6f3f0ca491 Fix CPU timer scaling on Win64 + minor format changes for FPS overlay 2021-09-22 17:57:19 -04:00
Admer
2f58f2b0c2 Re-order all pragma once statements to be AFTER the precompiled.h include, to silence IntelliSense's warning about PCH header stops 2021-09-11 17:53:30 +02:00
Robert Beckebans
87bbebac1c Applied Astyle 2021-08-28 15:05:12 +02:00
Robert Beckebans
530e96657e
Merge pull request #600 from SRSaunders/x11xcb-fixes
Remove X11_XCB dependencies for Linux and macOS
2021-08-28 14:55:03 +02:00
Stephen Saunders
c80d601276 Remove all X11_XCB platform-specific code from RBDoom3BFG 2021-07-30 14:08:44 -04:00
Robert Beckebans
b02eaf8f6b
Merge pull request #599 from SRSaunders/binkdec-fixes
Support FFmpeg / BinkDec optionality for macOS
2021-07-30 09:17:15 +02:00
Robert Beckebans
9772dfd88b
Merge pull request #594 from tomgreen66/rbdoom3_osxcpufreqfix
Fix odd output for CPU frequency on Mac
2021-07-30 09:09:04 +02:00
Stephen Saunders
d71eb2bf36 Disable X11_XCB dependencies for Linux and macOS 2021-07-29 00:10:13 -04:00
Stephen Saunders
cbb9610a1b Enable FFmpeg / BinkDec optionality for macOS 2021-07-27 17:24:01 -04:00
Thomas Green
3503dd2f17
Use integer to obtain cpufrequency in OSX
Using a double to try to obtain cpufrequency in OSX seems to not produce anything useful (integer representation in a double).  Using int64 seems to work.
2021-07-20 23:51:17 +01:00
Robert Beckebans
d430f6a1fd Astyle 2021-07-08 08:40:03 +02:00
Stephen Saunders
041db6b348 Capture mouse properly on macOS when outside of window, fixes issue #584 2021-06-15 01:53:35 -04:00
Robert Beckebans
c705e894fd Don't lookup Steam and GOG D3BFG paths by default.
This breaks development builds however you can set this behaviour by
setting +set sys_useSteamPath 1 or +set sys_useGOGPath 1
2021-06-04 13:06:34 +02:00
Robert Beckebans
b14a5b4fbb Applied Astyle 2021-05-26 09:25:28 +02:00
raynorpat
90a20aec42 Support for Steam and GOG.com base path detection for Windows.
This uses the registry unfortunately, but is fairly clean.

This will check the Steam App ID first, then the Steam install path, then finally will check the GOG.com App ID.
2021-05-25 23:20:54 -04:00
Robert Beckebans
d7a96ca21b Allow sys_lang to be saved to config 2021-05-08 15:05:47 +02:00
Robert Beckebans
dbbcea94c5 Pull request cleanup 2021-04-29 16:32:15 +02:00
Robert Beckebans
0964c02bcf Ran Astyle 2021-04-29 15:20:45 +02:00
Stephen Saunders
b14c3c21cb Fixed segfault on exit by integrating pull request #378 by tomgreen66 2021-04-20 18:35:37 -04:00
Stephen Saunders
0aae6f0902 macOS support for OpenGL and MoltenVK, demo recording/playback improvements 2021-04-19 14:32:52 -04:00
Robert Beckebans
afae2740bf Fixed unnessary warnings with VS2017 2021-03-15 21:21:56 +01:00
Robert Beckebans
d394ae186f Replaced DOOM 3 BFG icon 2021-02-25 19:30:07 +01:00
Robert Beckebans
c0376eacaf Merged some smaller bugfixes from Stephen's branch 2021-02-20 12:03:11 +01:00
Robert Beckebans
58607c2cca Changed r_useOpenGL45 default to 1 on Win and updated docs 2021-02-17 20:52:36 +01:00
Robert Beckebans
72cf7cef86 Smaller potential crashfixes from SS2 engine 2020-12-23 21:02:38 +01:00
Robert Beckebans
c8af9c3b0e Fixed savegame size problem with some user maps 2020-11-06 17:46:29 +01:00
Robert Beckebans
9349b280cc Applied astyle formatting 2020-11-05 01:32:50 +01:00
LWSS
4cd232ca20 GetClockTicks() - keep other arch in mind 2020-10-01 14:59:11 -07:00
LWSS
65f7a305c1 Fix cpu clock-hz inaccuracy on linux 2020-10-01 02:28:58 -07:00
Robert Beckebans
3960b88cc4 Applied Astyle 2020-07-14 18:42:45 +02:00
Robert Beckebans
eeff8100e0 Merge branch 'master' into PBR2 2020-07-14 18:40:48 +02:00
IISergII
7e25d69608 platform_linux.cpp: Added sysconf use for s_numPhysicalCPUCores
when parsing /proc/cpuinfo fails, an alternative method will be used - sysconf() to get s_numPhysicalCPUCores value
2020-06-03 21:52:44 +03:00
Robert Beckebans
6f36e42a43
Merge pull request #399 from shmerl/master
Support XDG base directory specification
2020-05-31 23:02:39 +02:00
Robert Beckebans
f97bfe3eb4 Don't try to create an OpenGL 5.0 context ... 2020-03-28 17:53:39 +01:00
Robert Beckebans
af701aea33 Vulkan works on Kubuntu 19.10, g++ and open source drivers for the AMD RX 580 2020-03-22 15:29:24 +01:00
Robert Beckebans
bcb61ce306 Applied Astyle 2020-03-22 12:23:52 +01:00
Eric Womer
596fbb18ca RenderBackend.h:
* Renamed vkwindow to sdlWindow in struct vulkanContext_t to matche the rest of the struct naming conventions.

Image_VK.cpp:
  * disabled printing "Vulkan Image alloc " to the terminal, flooding it
  with data

RenderBackend_VK.cpp:
  * Re-enabled r_vkEnableValidationLayers enabling/disabling Vulkan
  validation checking, I had it hard-coded to true for testing reasons.
  * static void DestroySwapChain():
    * I don't know if the changes I introduced here are helping or not,
    or even doing anything, so this part can be ignored or changed back.
  * GL_StartFrame() and GL_BlockingSwapBuffers():
    * VkResult for these two functions, vkAcquireNextImageKHR and
    vkQueuePresentKHR, don't need to return VK_SUCCESS for the
    application to be valid, so handle them differently here. There may
    be others like this, but I don't know.

qvk.h:
  * Since VK_USE_PLATFORM_* is defined in the CMakeLists.txt file, for
  now anyways, use them to wrap the correct platform headers instead of
  defining them here.

sdl_vkimp.cpp:
  * Some debug printing changes, from GL to Vulkan, since this is for
  the Vulkan API.
2020-01-01 14:31:28 -05:00
Eric Womer
e9ef21ce5c SDL2/Vulkan on Linux, still broken for Doom3BFG 2019-12-30 15:20:15 -05:00
Eric Womer
7145d9b3f1 Compiling/Linking/Running, but no rendering, there is audio. glConfig as
a temp fix for the surfaces having a width and height of 0 since
renderSystem->getHeight()/getWidth() access
glConfig.nativeResolutionHeight/Width directly.
2019-12-29 17:05:33 -05:00
Eric Womer
528da79001 Merge branch 'kung' into vulkan-merge-2 2019-12-29 12:14:29 -05:00
Eric Womer
f1e650e2c4 Applying KungFuJesus's patch from
https://github.com/RobertBeckebans/RBDOOM-3-BFG/issues/398#issuecomment-569442019
2019-12-29 11:12:34 -05:00
Robert Beckebans
527b1fbfd5 Applied new AStyle settings 2019-11-19 21:33:59 +01:00
Robert Beckebans
08cb9730e3 Merge branch 'master' into vulkan 2019-11-19 21:29:16 +01:00
Robert Beckebans
4a6af2d609 Applied new Astyle settings 2019-11-11 20:27:44 +01:00
Jeffrey N. Johnson
07aa70f27e These changes allow the use of C++11. 2019-11-10 12:33:53 -08:00
Robert Beckebans
a3e8b52170 Ported ImGui light editor from OpenTechBFG 2019-10-28 15:39:00 +01:00
Robert Beckebans
eb60a374fe Fixed Linux build under Kubuntu 18.10 2019-10-04 11:56:37 +02:00
Robert Beckebans
8cdc4aa99c Try to run with OpenGL 4.5 core profile by default on Windows 2018-11-02 13:35:02 +01:00
Robert Beckebans
f180da6f63 Merged more Vulkan code from vkneo 2018-10-05 21:43:55 +02:00
Robert Beckebans
a7d5c16e0a Vulkan CreateInstance Hello World 2018-10-04 00:30:20 +02:00
Robert Beckebans
a917b8c258 Stubbed out all OpenGL code 2018-10-03 23:40:35 +02:00
Robert Beckebans
3d9f9b75db Deleted almost all OpenGL code from _VK backend files 2018-10-03 21:14:28 +02:00
Robert Beckebans
2f3169179a Merge branch 'master' into vkdoom3-merge 2017-09-10 13:44:17 +02:00
shmerl
d23864a3e2 Support XDG base directory specification 2017-09-03 17:07:02 -04:00
Robert Beckebans
736ccadcb3 Started to move files so it can be compared to vkdoom3 2017-09-03 10:22:36 +02:00
Caffeine Code
41f1014ed5 read core count correctly 2017-07-09 22:39:20 +01:00
Robert Beckebans
a884b08010 Astyle 2016-05-10 09:55:37 +02:00
Ivan Vashchaev
3171686814 Support SDL2 GameController API
On OS X DualShock4 works perfectly
2016-02-12 20:53:24 +03:00
Daniel Gibson
0fbf83fa49 Implemented Sys_[SG]etClipboardData() for SDL backend
SDL2 only, SDL1.2 doesn't have functions to handle the clipboard
2015-08-02 19:23:26 +02:00
Daniel Gibson
90b1ff0b65 Format Code with AStyle 2.05.1 2015-02-09 00:29:57 +01:00