Commit Graph
205 Commits
Author SHA1 Message Date
Henrik Rydgård b118e25b6a Vulkan: Make multithreaded rendering an option.
Multi-threaded rendering is good for smoothing out performance spikes
and increasing performance on low-power devices. However, the way we use
it it doesn't benefit latency (input lag) at all, rather the opposite.

So make it an option.
2023-07-23 22:06:01 +02:00
Henrik Rydgård eb21a2e6c9 Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h 2023-06-30 17:15:49 +02:00
Henrik Rydgård 7cc8c6cea4 OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI). 2023-06-20 14:40:46 +02:00
Henrik Rydgård ee6234ecb6 I18N: Switch to getting categories by index instead of by string lookup
Also gets rid of the shared_ptr usage, and generally makes things nicer.

Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00
Henrik Rydgård 9e125eeba7 Remove NotifyUserMessage from Host 2023-03-25 10:32:09 +01:00
Henrik RydgårdandGitHub 8b431b39ba Wrap the display globals in a struct (#16998)
* Wrap the display globals in a struct

Makes it easier to search/replace these, for future refactorings.

* Some renaming

* Qt buildfix, also fix the Qt build on Mac (got broken with battery changes)

* Attempt at buildfixing ios

* UWP buildfix
2023-02-25 13:09:44 +01:00
Henrik Rydgård cb16f193ec Fix the problem. Still need to leave the loop with SDL even if we supply a swap function. 2023-01-30 15:45:05 +01:00
Henrik Rydgård b62572a78f Refactor the framedata/GPU thread management. 2023-01-30 11:49:31 +01:00
Unknown W. Brackets 49f6c461ad Reporting: Fix some header includes.
Particularly in Common, avoid including Core/Reporting.h.
2022-12-27 14:58:20 -08:00
Unknown W. Brackets 9cfcbc46e6 Global: Cleanup initialization/pointer checks.
Cleaning up a lot of cases of uninitialized data, unchecked return values
for failures, and similar.
2022-12-10 21:13:36 -08:00
Henrik Rydgård 4ec1e2a175 Some minor initialization fixes, and one potential crash found by static analysis 2022-12-10 11:28:19 +01:00
Henrik Rydgård 242efba6f7 Remove splitSubmit setting. Now we submit init commands before the acquire. 2022-09-17 01:07:30 +02:00
Henrik Rydgård d0cdb360fd Remove the DX9 namespace, for consistency with the other backends 2022-08-16 21:49:16 +02:00
Unknown W. Brackets ba520120ab Windows: Avoid deprecated functions. 2021-08-07 15:50:13 -07:00
Unknown W. Brackets da2e722794 Windows: Fix some format warnings. 2021-02-14 10:30:10 -08:00
Unknown W. Brackets 6247e4d0ee Windows: Add some missing override specifiers. 2021-02-14 10:30:10 -08:00
Unknown W. Brackets 83272c5e25 D3D11: Avoid crash if debug/info queue unavailable.
We don't fail init already, so we shouldn't fail shutdown.
2021-01-02 20:47:21 -08:00
Henrik Rydgård 207b76da6e Show an error on screen if a shader fails to compile.
Part of #1 investigation of #13541
2020-11-05 08:27:13 +01:00
Henrik Rydgård 5ee9cfef0d Remove support for D3D11_level_9 (previously only really used for Windows Phone, probably).
Can always fall back to D3D9, which is not going away anytime soon and
still needs to be there. One less HLSL variant to care about.
2020-10-29 00:52:19 +01:00
Henrik Rydgård b236691548 Complete the eradication of D3DX9 compiler loader 2020-10-05 00:13:29 +02:00
Henrik Rydgård 0e3a84b4a8 Move most GPU things to Common.
It works after the move, on Windows and Android at least.

Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård b7edf75437 Move Display.cpp/h to Common. 2020-10-04 11:42:16 +02:00
Henrik Rydgård ff8148dd92 Move native/util, native/data and native/i18 to Common/Data.
Also move colorutil.cpp/h

linking build fix experiment

Delete a bunch of unused CMakeLists.txt files

CMakeLists.txt linking fix

Don't include NativeApp.h from any headers.

Android.mk buildfix

Half of the UWP fix

Buildfix

Minor project file cleanup

Buildfixes

Guess what? More buildfixes!
2020-10-04 07:28:29 +02:00
Henrik Rydgård ed88761ecc Merge ext/native/stringutil.cpp/h into Common/StringUtils.cpp/h. 2020-09-29 15:51:51 +02:00
Unknown W. Brackets 6b8f7294b3 Global: Remove ARM64 define.
Was barely used anymore, and some users are specifying it when it's not
the case, so better to detect consistently.
2020-08-29 08:45:50 -07:00
Henrik Rydgård 06ab2159e9 Windows: Auto-enable GL validation (debug messages) in debug builds 2020-08-18 09:18:50 +02:00
Henrik Rydgård 5d64fc5ff1 Switch to PPSSPP's assert functions (don't use the system's) 2020-08-16 10:01:10 +02:00
Henrik Rydgård c41f875df4 Remove base/logging.h in a whole lot more places. 2020-08-15 19:09:00 +02:00
Henrik Rydgård b43698a13d Remove most instances of base/logging.h from Common, Core, GPU, more 2020-08-15 19:08:44 +02:00
Henrik Rydgård 73166def93 Android: Reduce asserts during startup. 2020-07-28 19:06:29 +02:00
Henrik Rydgård 47a3bf1dd7 Step 2 of removing PanicAlert 2020-07-19 20:34:02 +02:00
Henrik Rydgård c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Henrik Rydgård 21f99259f3 Eliminate an unnecessary global g_Vulkan. 2020-07-18 22:50:26 +02:00
Henrik Rydgård 05ba88d20c Windows/Vulkan: Don't destroy the surface during resize, no need. 2020-07-18 21:43:27 +02:00
Henrik Rydgård 1897eed9b4 More buildfixes 2020-07-18 21:43:13 +02:00
Henrik Rydgård e48cb916dd Buildfix 2020-07-18 20:43:47 +02:00
Henrik Rydgård 697c3b8b36 Cleanup log output on swapchain/surface recreation. 2020-07-18 20:35:39 +02:00
Henrik Rydgård cd1d73436d Vulkan: Recreate the swapchain if we get too many "out of date" frames.
Should help an issue on my Linux laptop with Intel GPU.
2020-06-22 00:45:05 +02:00
Henrik Rydgård fbc4fa5bca Move the responsibility to register the debugutils callback to the VulkanContext. We only use one anyway. 2020-06-21 23:04:51 +02:00
Henrik Rydgård 6532c345c8 Simplify the validation interface code, bugfixes 2020-06-21 23:04:51 +02:00
Henrik Rydgård 1793b65ec1 Vulkan: Remove support for the old VK_EXT_debug_report extension 2020-06-21 23:04:51 +02:00
Unknown W. Brackets dddaa57392 Windows: Fix GL reinit on backend switch. 2020-05-09 12:20:42 -07:00
Unknown W. Brackets 051a84e9bd GPU: Restart when changing inflight frames setting.
We need to keep the push and pull in step, so changing at runtime is
messy.
2020-03-02 19:21:15 -08:00
Unknown W. Brackets bc90faebf7 D3D9: Allow vsync change at runtime. 2020-02-29 22:48:58 -08:00
Unknown W. Brackets 6f86b6fdbe D3D11: Respect vsync setting.
Fixes #12493.
2020-02-29 22:48:58 -08:00
Unknown W. Brackets 2a3fd05651 Vulkan: Present using FIFO for vsync.
This allows the setting to be changed at runtime in Vulkan too.

Should help #10105.
2020-02-29 22:48:59 -08:00
Unknown W. Brackets 5009698cc0 Core: Use a shared_ptr for i18n categories.
This does not make them thread safe, but it reduces the chances of a crash
a bit (see #12594.)
2020-02-09 07:35:16 -08:00
Henrik Rydgård 4f7c23fe79 DarkStalkers: Fix display on OpenGL ES. 2019-10-27 20:54:36 +01:00
Henrik Rydgård 7610220b30 Vulkan: Prepare for adding a second init path for VulkanContext.
Will eventually be used for libretro.
2019-09-01 22:21:19 +02:00
Henrik Rydgård aff429ee09 For the non-vulkan backends, zero display rotation settings just to be sure. 2019-06-24 10:30:32 +02:00