Robert Beckebans
|
a51833e4ed
|
Applied astyle
|
2023-07-14 11:35:37 +02:00 |
|
Robert Beckebans
|
047dd46d9e
|
Merge remote-tracking branch 'SRSaunders/clang-warnings-fixes'
|
2023-07-14 11:30:13 +02:00 |
|
Robert Beckebans
|
e0e77ce6b3
|
Applied astyle
|
2023-07-14 09:45:35 +02:00 |
|
Robert Beckebans
|
33615ef541
|
Merge remote-tracking branch 'SRSaunders/optick-vulkan'
|
2023-07-14 09:44:55 +02:00 |
|
Robert Beckebans
|
3da97f0e3f
|
Applied astyle
|
2023-07-14 08:46:32 +02:00 |
|
Stephen Saunders
|
c0e6c7a5dd
|
Fix MSVC warnings for RBDoom3BFG, suppress for some third party source libs (jpeg, png, oggvorbis)
|
2023-06-23 16:30:48 -04:00 |
|
Stephen Saunders
|
52dd6193bf
|
Replace sprintf() / vsprintf() with idStr::snPrintf() / idStr::vsnPrintf() for buffer security
|
2023-06-20 12:24:24 -04:00 |
|
Stephen Saunders
|
078eb4e779
|
Fix SDL window vs. Vulkan swapchain extent errors, align SDL vs. Win32 window handling & error logic
|
2023-06-09 14:48:36 -04:00 |
|
Stephen Saunders
|
db79692287
|
Implement Vulkan eMailbox present mode option, perform runtime check for all present modes
(cherry picked from commit 268c057af1aaf59833c52744ee76465c697ebdac)
|
2023-06-06 11:43:50 -04:00 |
|
Stephen Saunders
|
9ab8c2a4da
|
Init swapChainBufferCount to NUM_FRAME_DATA (all renderers) and clamp to Vulkan surfaceCaps
|
2023-06-06 11:42:22 -04:00 |
|
Stephen Saunders
|
89ad088ef3
|
Set r_maxFrameLatency max value constraint to NUM_FRAME_DATA
|
2023-06-01 01:01:53 -04:00 |
|
Stephen Saunders
|
444b25a1e8
|
Wait for Vulkan device idle in DestroyDeviceAndSwapChain() to avoid random crashes on exit
|
2023-06-01 00:53:02 -04:00 |
|
Stephen Saunders
|
85e980421a
|
Change r_maxFrameLatency cvar name and set to default value of 2 frames
|
2023-05-27 01:40:40 -04:00 |
|
Stephen Saunders
|
9ebe476f4f
|
Remove unnecessary Vulkan cast for m_SwapChain when calling OPTICK_GPU_FLIP()
|
2023-05-23 14:45:34 -04:00 |
|
Stephen Saunders
|
34332dbeeb
|
Implement m_frameLatencyWaitableObject sync for reduced DX12 frame latency
|
2023-05-23 08:48:56 -04:00 |
|
Stephen Saunders
|
2b933df6da
|
Enable VSync / Present queue frameID labeling for DX12
|
2023-05-23 08:24:40 -04:00 |
|
Stephen Saunders
|
6bb8c1feeb
|
Remove unneeded Vulkan extensions: VK_KHR_present_id + macOS-specifics
|
2023-05-13 10:22:52 -04:00 |
|
Stephen Saunders
|
2d46e47046
|
Disable DXGI automatic display mode switching for alt-enter borderless fullscreen
|
2023-05-12 14:43:07 -04:00 |
|
Stephen Saunders
|
0b510de3e9
|
Update RenderBackend to select OPTICK_GPU_CONTEXT graphics API at runtime
|
2023-05-12 03:01:11 -04:00 |
|
Stephen Saunders
|
6769126b14
|
Add Vulkan Present / VSync queue profiling if VK_GOOGLE_display_timing extension available
|
2023-05-04 22:51:30 -04:00 |
|
Stephen Saunders
|
d9d721a73e
|
Add Optick for Vulkan, remove need for USE_OPTICK_GPU, fix calls to OPTICK_SHUTDOWN()
|
2023-05-04 22:51:30 -04:00 |
|
Robert Beckebans
|
033282f8d6
|
Avoid copy constructor in glTF library
|
2023-04-04 22:36:46 +02:00 |
|
Robert Beckebans
|
75e6fe2a27
|
Prefer high performance GPUs in laptops with DX12 #746
|
2023-04-02 12:31:22 +02:00 |
|
Robert Beckebans
|
8c9f79b28f
|
Applied Astyle
|
2023-03-31 12:28:41 +02:00 |
|
Stephen Saunders
|
7880773f1a
|
Disable Win32 SC_MAXIMIZE for faster borderless fullscreen transitions
|
2023-03-31 11:54:44 +02:00 |
|
Stephen Saunders
|
acc3038933
|
Improve SDL desktop window position error handling and sdl_vkimp error reporting
|
2023-03-31 11:54:44 +02:00 |
|
Stephen Saunders
|
dafed51a79
|
Simplify VKimp_Init() and remove defunct cvars
|
2023-03-31 11:54:44 +02:00 |
|
Stephen Saunders
|
b427ec338c
|
Support Borderless Fullscreen and Borderless Window modes for Win32 and SDL platforms
|
2023-03-31 11:54:44 +02:00 |
|
Robert Beckebans
|
49dc6cee46
|
Reverted com_smp back to boolean
|
2023-03-30 19:30:33 +02:00 |
|
Stephen Saunders
|
e8b76ee1ab
|
Give each Vulkan swapchain image (vs frame) its own acquire/present semaphore
|
2023-03-30 01:07:43 -04:00 |
|
Stephen Saunders
|
3c4cdea02a
|
Define r_mvkSynchronousQueueSubmits cvar to control MoltenVK's queue submit option
|
2023-03-28 12:15:41 -04:00 |
|
Stephen Saunders
|
59b4555bc9
|
Optimize macOS frame sync / fps by enabling MoltenVK asynchronous queue submission
|
2023-03-27 15:51:43 -04:00 |
|
Stephen Saunders
|
98a5d63cdc
|
nvrhi sync option for DX12 supporting NUM_FRAME_DATA = 2 or 3
|
2023-03-24 13:15:00 -04:00 |
|
Stephen Saunders
|
5968997562
|
Fix Vulkan Vsync mode and handle NUM_FRAME_DATA = 2 or 3
|
2023-03-24 11:29:40 -04:00 |
|
Stephen Saunders
|
2faa15bab5
|
Fix Vsync mode switching to support all modes: 0 (off), 1 (smart), 2 (on)
|
2023-03-24 10:04:34 -04:00 |
|
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 |
|