Commit graph

310 commits

Author SHA1 Message Date
Stephen Saunders
764469ab31 Revert #if USE_OPTICK wrappers 2023-03-05 09:36:44 -05:00
Stephen Saunders
b1c2cdbec8 More conservative frame sync: wait before vs after DX12 / Vulkan present operations 2023-03-04 21:15:32 -05:00
Stephen Saunders
0c217ebbe9 Fix win32 compilation errors when Optick profiling is off 2023-03-04 21:06:08 -05:00
Stephen Saunders
76da1beefd Fix compilation errors when Optick profiling is off 2023-03-04 16:39:43 -05:00
Stephen Saunders
c5aa8afe8a Fix SDL display size / refresh rate changes when already in fullscreen mode 2023-03-04 16:37:02 -05:00
Stephen Saunders
f0c61a3f55 Use command queue sync method vs. device sync for higher performance / frame rate 2023-03-04 16:19:39 -05:00
Robert Beckebans
f4f416bc75 Merge branch 'optick-profiler' 2023-03-03 19:53:24 +01:00
Robert Beckebans
b3e9c27d74 Display all the common different threads in Optick 2023-03-01 16:20:37 +01:00
Robert Beckebans
513674c4bf Added r_graphicsAdapter to select a specific GPU 2023-02-28 22:01:26 +01:00
Robert Beckebans
a441eccfd0 Super basic Optick profiler integration 2023-02-28 18:00:54 +01:00
Robert Beckebans
fc7802e007 Astyle 2023-02-23 09:55:53 +01:00
Stephen Saunders
1af7a289d5 Align permitted SDL monitor refresh rates with Windows 2023-02-23 01:48:30 -05:00
Robert Beckebans
0a1162aea0 Detect displays that only support 144, 165 and 240 Hz 2023-02-22 17:47:21 +01:00
Robert Beckebans
c1fdd0cffb Fixed SSAO flickering when TAA is off #744 2023-02-22 09:48:00 +01:00
Stephen Saunders
2a0341df5f Enable shaderStorageImageReadWithoutFormat device feature for new SSAO compute shader 2023-02-19 02:25:16 -05:00
Stephen Saunders
8c2cae0458 Define r_vmaUseForBufferMemory cvar to control if VMA is used for buffer memory allocation 2023-02-17 00:22:58 -05:00
Stephen Saunders
658521bd22 Fix PCH with VMA allocator for all platforms: Win32, Linux, macOS 2023-02-16 20:22:25 -05:00
Stephen Saunders
3029b80486 Fix posix pthread_yield and readdir_r deprecations on linux 2023-02-16 00:06:43 -05:00
Stephen Saunders
8ac44895e1 Fix PCH build failures (on linux) when USE_VMA allocator option enabled 2023-02-15 23:00:50 -05:00
Stephen Saunders
421160087d Integrate the AMD Vma allocator for images and buffer objects 2023-02-13 19:06:41 -05:00
Robert Beckebans
6f89d31d19 Applied astyle 2023-01-18 09:55:03 +01:00
Robert Beckebans
7a4c56e105 Merge remote-tracking branch 'SRSaunders/basepath-sdl-fixes' 2023-01-18 09:48:04 +01:00
Stephen Saunders
2565b1f58f Generalize basepath search logic for single-config dev builds on linux/macOS when using make or ninja 2023-01-14 01:37:49 -05:00
Robert Beckebans
eb017e40c5 Cleanup 2023-01-13 14:43:09 +01:00
Stephen Saunders
2d1945044a Create macOS app bundle for Xcode release / universal builds, add macOS app icon, update README 2023-01-12 14:46:36 -05:00
Stephen Saunders
502522826a Minor consistency change for USE_VK define in DeviceManager.h 2023-01-09 13:41:23 -05:00
Stephen Saunders
5137637126 Filter SDL video modes same as on Win32, fix SDL window position drift when exiting fullscreen 2023-01-08 00:25:05 -05:00
Stephen Saunders
1c4883354b Fix linux/macOS CreateOSPath() regression by eliminating path-relative references in fs_basepath 2023-01-07 22:44:42 -05:00
Stephen Saunders
e7b681a06e Build-time perf improvement for PCH, c_str() fix in idCameraAnim::gltfLoadAnim() 2022-12-24 14:10:55 -05:00
Robert Beckebans
407086a603 Astyle 2022-12-19 12:40:45 +01:00
Stephen Saunders
308892db87 Change DeviceManager_VK Vulkan API calls to NVRHI API, fix vulkan dll unloading bug 2022-12-16 13:42:12 -05:00
Stephen Saunders
591d9d71a7 Clean up macOS cmake build scripts and handle macOS makefile build path within Sys_DefaultBasePath() 2022-12-14 12:50:05 -05:00
Stephen Saunders
cd2bb986c2 Handle macOS / linux differences for build path option within Sys_DefaultBasePath() 2022-12-14 01:30:48 -05:00
Stephen Saunders
7f37eccf61 Extend Sys_DefaultBasePath() to check IDE build path for linux and macOS 2022-12-13 21:28:26 -05:00
Stephen Saunders
55a9950dd8 Support USE_MoltenVK cmake option for macOS NVRHI builds, update xcode cmake scripts 2022-12-12 18:13:55 -05:00
Robert Beckebans
a94f67adaa Point to latest RB/nvrhi/main 2022-12-06 23:43:56 +01:00
Robert Beckebans
3a3af32ddb Replaced std::min/max with Min/Max 2022-11-19 16:46:21 +01:00
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