Commit graph

112 commits

Author SHA1 Message Date
Stephen Saunders
e0fe1b8bed Properly init / shutdown device manager (all platforms) and SDL (non-windows) to avoid leaks 2023-12-26 13:15:32 +01:00
Stephen Saunders
8867e865e0 valgrind: fix undefined variables/warnings and a few more memory leaks on quit 2023-12-26 13:15:29 +01:00
Stephen Saunders
a7ef79ecb1 Fix leaks on quit: Free verts / indexes for basic surface triangles and shutdown SDL via SDL_Quit() 2023-12-26 13:14:59 +01:00
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
3da97f0e3f Applied astyle 2023-07-14 08:46:32 +02: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
Robert Beckebans
8c9f79b28f Applied Astyle 2023-03-31 12:28:41 +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
1c2380e285 Removed obsolete sdl_glimp.cpp 2023-03-11 12:49:44 +01:00
Robert Beckebans
a09273af32 Fixed compile issues on Linux 2023-03-07 09:45:54 +01:00
Stephen Saunders
c5aa8afe8a Fix SDL display size / refresh rate changes when already in fullscreen mode 2023-03-04 16:37:02 -05: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
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
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
e7b681a06e Build-time perf improvement for PCH, c_str() fix in idCameraAnim::gltfLoadAnim() 2022-12-24 14:10:55 -05: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
55a9950dd8 Support USE_MoltenVK cmake option for macOS NVRHI builds, update xcode cmake scripts 2022-12-12 18:13:55 -05: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
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
f1139f7a33 Fixed unknown event 772 error on Linux 2022-05-09 14:07:19 +02: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
Stephen Saunders
c80d601276 Remove all X11_XCB platform-specific code from RBDoom3BFG 2021-07-30 14:08:44 -04: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
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
0aae6f0902 macOS support for OpenGL and MoltenVK, demo recording/playback improvements 2021-04-19 14:32:52 -04: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