Commit Graph

2110 Commits

Author SHA1 Message Date
lui
6dbbe4225b renderer: add area sampling scaling method (#57)
Adds Area Sampling to the list of scaling options. Works well to achieve a high-quality, smooth super-sampling effect. Dolphin has had this for a while, and now Ryujinx has recently added it too, so I decided to port it.

Not sure if adding the extra uniform to the OpenGL WindowAdaptPass was a good idea or not, or if using the push constants under Vulkan was either, but I wasn't sure about the best way to get the window size for use in the shader, and other scaling methods still work fine. Implementation seems to work fine under both Vulkan and OpenGL, but might still need some minor tweaks to the shader. Should definitely do some testing before merging, I have tested on an Nvidia RTX 3080 under Windows.

Adapted from these two PRs:
https://github.com/Ryujinx/Ryujinx/pull/7304
https://github.com/dolphin-emu/dolphin/pull/11999

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/57
Co-authored-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion>
Co-committed-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion>
2024-12-20 15:24:58 +00:00
echosys
15b173988a Fix Android crash caused by incorrect type in progress dialog callbacks (#58)
Bug discovered via an incomplete fix in Sudachi.

Some Progress Dialog callbacks pass the wrong type (Double instead of Long) from C++ to Java code causing a crash at runtime.
To fix this a new function is implemented to convert to a Java Long and that is used instead of the function that converts to a Double.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/58
Co-authored-by: echosys <echosys@noreply.localhost>
Co-committed-by: echosys <echosys@noreply.localhost>
2024-12-20 15:24:58 +00:00
echosys
08439ae74e Add option to only optimize SPIRV during load (#13)
Adds a new option "On Load" to the "Optimize SPIRV output" option that turns on optimizations during the loading of the shader cache from disk, but turns it off after that.
The previous checkbox states have been named "Never" for unchecked and "Always" for checked.

The idea is that once the shader cache has most of the shaders in a game cached they can be optimized during initial game startup (where a performance hit matters less) and the few shaders that get compiled during runtime are not optimized to reduce performance hits.

Most of the commit is adding the setting to the Android app, the main logic is in the `gl_shader_cache.cpp` and `vk_pipeline_cache.cpp` files.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/13
Co-authored-by: echosys <echosys@noreply.localhost>
Co-committed-by: echosys <echosys@noreply.localhost>
2024-12-20 15:24:58 +00:00
Mike Lothian
c39939fd8e Use fmt 11.0.0 2024-12-20 15:24:57 +00:00
spectranator
701f391d00 Disabled problematic MSVC warning-to-errors 2024-12-20 15:24:57 +00:00
spectranator
f89d3ca9ed Added option to synchronize core tick speed to max speed percentage 2024-12-20 15:24:57 +00:00
flodavid
6eac0a4802 Load custom Qt themes from yuzu data directory
- Directory is qt_themes, each theme must be in one folder
    - It should contain a file "style.qss"
    - It may contain an "icons" sub-directory, to override included icons
      (with files like mytheme/icons/colorful/48x48/star.png for example)
    - Directories ending by "_dark" are reserved for dark variant icons.
      They are not listed as themes in the UI.
- If theme directory contains "dark" or "midnight", theme will be considered dark
2024-12-20 15:24:57 +00:00
darktux
8028770d4e Optionally optimize generated SPIRV with spirv-opt (#10)
Reviewed-on: http://y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion/darktux/torzu/pulls/10
Co-authored-by: darktux <darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion>
Co-committed-by: darktux <darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion>
2024-12-20 15:24:57 +00:00
darktux
8b6b7ab647 Removed telemetry and anonymized SCM (git) strings 2024-12-20 15:24:57 +00:00
darktux
b250c2ff97 Fix GCC builds with Debug build type
When compiling with -DCMAKE_BUILD_TYPE=Debug, GCC would (correctly) fail to
compile intrinsics in stb and host1x due to lack of optimizations.

Sadly, the compilation error given is bogus and Clang completing the builds
without issues does raise some eyebrows.

Therefore, force optimizations for the offending files under GCC when
creating Debug builds.

Signed-off-by: voidanix <voidanix@keyedlimepie.org>
2024-12-20 15:24:57 +00:00
Kelebek1
ccf5644c17 Add option to log synchronously, add tooltip to log filter. 2024-12-20 15:24:57 +00:00
Akatsuki Levi
dde7af4f98 fix: Increased max sensitivity for mouse panning 2024-12-20 15:24:57 +00:00
niansa
7c8d55cc62 Added 32:9 aspect ratio 2024-12-20 15:24:57 +00:00
niansa
9b4ef19ed9 Port changes from Early Access 2024-12-20 15:24:40 +00:00
liamwhite
79edad2533
Merge pull request #13159 from liamwhite/web-error
core: enable error applet, add stubs for web applet
2024-02-26 12:44:55 -05:00
Liam
25c3bbba0e settings: remove global override for smash on amdvlk 2024-02-26 11:16:18 -05:00
Liam
dc50b95a47 settings: enable error applet 2024-02-24 22:56:08 -05:00
wheremyfoodat
ed315fb8a5
common/ring_buffer: Include <limits> header 2024-02-24 02:34:09 +02:00
liamwhite
215e887be0
Merge pull request #13100 from liamwhite/audio-ipc
audio: move to new ipc
2024-02-23 11:34:21 -05:00
Narr the Reg
984396a21a
Merge pull request #13001 from liamwhite/scaled-availability
vulkan_device: don't use fixed cap for memory limits
2024-02-22 11:31:17 -06:00
Liam
c575a85233 audio: rewrite IAudioDevice 2024-02-20 22:15:38 -05:00
FearlessTobi
310c1f50be scope_exit: Make constexpr
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
2024-02-19 16:00:46 +01:00
Liam
56810541f0 vulkan_device: don't use fixed cap for memory limits 2024-02-18 18:59:13 -05:00
t895
50ecad547e android: Input mapping 2024-02-17 12:32:33 -05:00
Narr the Reg
2ff45cd0da
Merge pull request #12756 from liamwhite/applet-multiprocess-hwc
general: applet multiprocess
2024-02-11 20:58:28 -06:00
liamwhite
7ec7ff0f30
Merge pull request #12920 from t895/jni-common
android: Move JNI setup and helpers to common
2024-02-09 11:49:25 -05:00
Liam
fa12384350 general: add default configurations for applet mode 2024-02-09 09:20:53 -05:00
t895
c8e8c614a0 common: fs: Expand android macros 2024-02-08 14:13:46 -05:00
t895
e7c4c8b993 android: Move JNI setup and helpers to common 2024-02-08 13:45:26 -05:00
liamwhite
263dfa95e4
Merge pull request #12914 from FernandoS27/vc-refactor
VideoCore Refactor Part 1.
2024-02-08 10:59:59 -05:00
Fernando Sahmkow
fa47ac1c9f Common: Rename SplitRangeSet to OverlapRangeSet 2024-02-05 23:01:17 +01:00
Liam
0e950baf41 typed_address: test values are unsigned 2024-02-05 12:47:10 -05:00
Fernando Sahmkow
0d5a3abeae Buffer Cache: Refactor to use Range sets instead 2024-02-05 11:06:52 +01:00
Fernando Sahmkow
01ba6cf610 Common: Introduce Range Sets 2024-02-04 20:01:50 +01:00
Fernando Sahmkow
4841dc0b74 VideoCore: Move Slot Vector to Common 2024-02-04 20:01:47 +01:00
Narr the Reg
fb3ef957bb service: fs: Skip non user id folders 2024-02-02 13:25:38 -06:00
liamwhite
22492b68b7
Merge pull request #12869 from FernandoS27/smmu-fixes
SMMU: A set of different fixes.
2024-01-31 11:22:29 -05:00
Liam
8f848f43e9 smmu: use new range mutex construction for protecting counters 2024-01-31 16:38:51 +01:00
t895
e8be665f11 settings: Allow audio sink, input, and output to be set per game 2024-01-31 09:31:19 -05:00
liamwhite
90cb852908
Merge pull request #12814 from Kelebek1/time_new_ipc
Move time services to new IPC and add debug printing
2024-01-29 09:08:46 -05:00
Merry
5a20d07c21 atomic_ops: Fix MSVC 2024-01-27 21:42:16 +00:00
Merry
9f91d310c6 atomic_ops: Remove volatile qualifier 2024-01-27 21:36:39 +00:00
Merry
6527c0d2fc atomic_ops: Reduce code duplication with templates
Also fixes builds on unusual toolchains where:
- u32 is unsigned int
- u64 is unsigned long long
- uintptr_t is unsigned long
2024-01-27 21:12:12 +00:00
Kelebek1
da410506a4 Move time services to new IPC.
Add some fixes/improvements to usage with the new IPC
2024-01-27 03:30:09 +00:00
FearlessTobi
975deb7528 Address review comments and fix compilation problems 2024-01-25 16:43:53 -05:00
FearlessTobi
2c049ae06d fs: Add path class 2024-01-25 16:42:06 -05:00
liamwhite
d45561ace0
Merge pull request #12499 from Kelebek1/time
Rework time services
2024-01-25 14:19:01 -05:00
Kelebek1
e4915fb7d2 Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
liamwhite
8bd10473d6
Merge pull request #12579 from FernandoS27/smmu
Core: Implement Device Mapping & GPU SMMU
2024-01-22 10:55:39 -05:00
Merry
5c398ede6f fs/file: Explicitly convert std::u8string to std::filesystem::path 2024-01-20 17:46:30 +00:00