Commit graph

99 commits

Author SHA1 Message Date
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
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
4a6af2d609 Applied new Astyle settings 2019-11-11 20:27:44 +01:00
Robert Beckebans
eb60a374fe Fixed Linux build under Kubuntu 18.10 2019-10-04 11:56:37 +02: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
Robert Beckebans
4c596dcf0d Fixed Gamepad LS and RS in PDA screen. refs #214 2015-02-05 20:11:09 +01:00
Daniel Gibson
015748f823 SDL backend: generate SE_MOUSE_LEAVE events
The SDL backend now creates SE_MOUSE_LEAVE events when the mouse leaves
the window (both SDL1.2 and SDL2). For some reason, both the SWF GUI
backend and CEGUI are interested in this.
2015-01-28 17:32:35 +01:00
Daniel Gibson
aa51d38b3c Support up to 16 mouse buttons (SDL-only)
Mostly necessary because SDL doesn't properly return mouse buttons X1/X2
on Linux/X11, see https://bugzilla.libsdl.org/show_bug.cgi?id=2310

Not sure if this is possible with Windows, DIMOFS_BUTTON7 seems to be
the highest constant there.

Also passing sdlevent.wheel.y directly as scroll delta
2015-01-28 17:32:35 +01:00
Daniel Gibson
65d1428dd1 Make Unicode input work for SDL
The d3bfg internal SE_CHAR events were documented as "evValue is an
ascii char", but are actually at least UTF-16, as returned by
Windows WM_CHAR events.
We now assume it's UTF-32 (UTF-16 has the same values mostly)
and the SDL backend now puts UTF-32 chars into SE_CHAR events.

In the Windows backend I make sure that no surrogate UTF-16 chars are
emitted + I added support for WM_UNICODE messages.

Now I can input Ümläuts intö the conßole window \o/
2015-01-28 17:32:35 +01:00
Robert Beckebans
d691002296 Bumped engine version to 1.0.3 to prepare for new release 2015-01-18 12:13:24 +01:00