Commit graph

320 commits

Author SHA1 Message Date
Robert Beckebans
518af4c257 Enable D3D12 Debug Layer with r_useValidationLayers 2 2023-03-17 19:01:41 +01:00
Robert Beckebans
1c2380e285 Removed obsolete sdl_glimp.cpp 2023-03-11 12:49:44 +01:00
Robert Beckebans
a973403fd7 Removed OpenGL code from win_glimp.cpp 2023-03-10 19:02:59 +01:00
Robert Beckebans
95f9b4de4a Removed more obsolete Vulkan code 2023-03-10 18:49:32 +01:00
Robert Beckebans
5f269a84a6 Merge branch '750-better-vsync' of github.com:RobertBeckebans/RBDOOM-3-BFG into 750-better-vsync 2023-03-07 11:22:52 +01:00
Robert Beckebans
12789bd95e Added basic support for Optick and D3D12 2023-03-07 11:22:46 +01:00
Robert Beckebans
a09273af32 Fixed compile issues on Linux 2023-03-07 09:45:54 +01:00
Robert Beckebans
dc27b0dd40 Fixed merge conflicts and updated copyright notices 2023-03-06 20:06:15 +01:00
Robert Beckebans
9b67e2a91a Merge branch 'sync-changes' into 750-better-vsync 2023-03-06 19:58:14 +01:00
Robert Beckebans
b4b025979d Refactored DeviceManager_DX12 members for better diffing with orig Donut sample 2023-03-06 17:05:43 +01:00
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