Commit Graph

27184 Commits

Author SHA1 Message Date
anon
5de1cb53bb update-build-guides (#65)
Windows

- added summary Overview section for MSVC
- consolidated Visual Studio settings screens for C++ etc at the beginning (instead of providing them in the CMake GUI steps if they get an error)
- added notes to dependencies, to add them to Windows PATH if they ask for it
- moved the MSVC command line section (from the very bottom of the page under the Clion section), to between "dependency installation" and the "GUI method of building"
    - prioritizing MSVC command line over GUI since it's much shorter and easier if all dependencies are installed correctly
- moved/duplicated contents of MSVC "Clone with Git" section into both the "MSVC command line" and "MSVC GUI" sections, so all steps are together for each and not split up
- changed some header sizes for better separation
- added a large separator bar area between MSVC, MinGW and CLion sections, and smaller separator bar areas between the three main sections of MSVC for readability
- added a specific repo-to-use note to the Clion cloning section
- corrected repo urls

Linux/Debian

- added flatpak build section at the top, labeled the existing as native builds
- added qttools5-dev and libva-dev to dependency cut and paste (were needed to compile on Debian)
- corrected repo url

MacOS

- removed redundant to-do items
- corrected repo url

Android

- corrected repo url

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/65
Co-authored-by: anon <anon@noreply.localhost>
Co-committed-by: anon <anon@noreply.localhost>
2024-10-26 16:11:23 +00:00
cow
85dc40ad23 kepler_compute: use safe memory read
If unsafe read is done there can sometimes be corrupt data in the
KeplerCompute::ProcessLaunch qmd structure.

Fixes GPU crashes in 'Princess Peach: Showtime!' when using vulkan
renderer. Requires using "Accuracy Level High" (crashes will still
happen if using "Normal").

Tested on Radeon 6750XT, Linux 6.11.2, Mesa 24.2.5 (RADV driver).

Unsafe read was introduced in 115792158d
"VideoCore: Implement DispatchIndirect"

How did I debug this:
- Used VK_LAYER_KHRONOS_validation which found invalid vkCmdDispatch
  (along with a lot of other noise!)
- Instrumented all calls to vulkan Dispatch(), set breakpoint when
  grid_dim_x > 1024 (an obviously invalid value). Found dispatch came
  from RasterizerVulkan::DispatchCompute().
- Commented out DispatchCompute() entirely, game runs with no crashes
  but some graphics effects are missing.
- Keep going one layer up, observe corrupted `launch_description` in
  KeplerCompute::ProcessLaunch()
- Attempted safe ReadBlock (`which = VideoCommon::CacheType::All`)
  instead of ReadBlockUnsafe in KeplerCompute::ProcessLaunch(), did not
  help
- Go one layer up to DmaPusher. Switch to safe_process(). No more
  corrupt `launch_description`.
2024-10-22 17:48:59 +00:00
spectranator
f45341ef55 Readme: Moved "Move away from Codeberg" section further down 2024-10-22 17:41:12 +00:00
anon
4259889895 Remove "/DEBUG" flag from CMAKE_EXE_LINKER_FLAGS_RELEASE
lol, has the emulator been running in a slower debug mode, even in release builds, ever since it was yuzu? This has been there since 4176. I was wondering why *.pdb debugging files still get generated.
2024-10-13 04:29:29 +00:00
lui
a9b7cae667 capitalize 'Open Current Mirror Repo' to match other menu options 2024-10-12 23:35:58 +00:00
lui
6d2368b07b configuration: break up tooltip for 'VRAM Usage Mode' into multiple lines 2024-10-12 23:35:58 +00:00
lui
f52a2c5d99 configuration: increase default height of per-game configuration window 2024-10-12 23:35:58 +00:00
lui
11cd91ea01 configure_graphics: use stylesheet for background button color
Keeps things consistent with the color picker from d6ca4f11c1 and joycon color picker buttons
2024-10-12 23:35:58 +00:00
spectranator
783e8952e0 Display linker messages in mode STATUS to be consistent 2024-10-12 23:22:31 +00:00
spectranator
15470284cf Readded some missing steps to MinGW-w64 build guide 2024-10-04 16:13:08 +00:00
spectranator
a41691dbbb Updated MinGW64 (MSYS2) build guide (#59) 2024-10-04 16:06:55 +00:00
lui
1a0d98f984 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-10-03 13:25:58 +00:00
spectranator
eefc75732f ALL development is happening on dark git now :-) 2024-10-03 13:06:37 +00:00
lui
d6ca4f11c1 profile_manager: Implement firmware avatar selector (#56)
Adds an option to set a user's profile image from the avatars in the firmware. Background color can be changed with a color picker. Also modifies profile image saving to account for this, and as a result images are now saved as JPEG with 100% quality. Any PNG, JPEG, or BMP can now also be used in the image file picker instead of just JPEG.

Also of note: I am not a C/C++ developer so please let me know if anything should be changed. Used ryujinx's implementation and other parts of the yuzu codebase for reference.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/56
Co-authored-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion>
Co-committed-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion>
2024-10-03 12:50:46 +00:00
echosys
ab4c093976 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-10-03 12:08:28 +00:00
echosys
ec2e6dfdac Add turnip driver build guide (#54)
Adds a section on building an installable turnip driver package to the android build documentation.

Currently set to WIP because I would like to get some feedback and possibly improve the guide before merging.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/54
Co-authored-by: echosys <echosys@noreply.localhost>
Co-committed-by: echosys <echosys@noreply.localhost>
2024-09-25 17:21:42 +00:00
spectranator
7b143fb07e Added new Blog article (2: Puzzle Pieces) 2024-09-06 11:07:14 +00:00
spectranator
6e61673959 Updated README.md to reflect current state 2024-09-01 04:16:59 +02:00
echosys
ee37c4989c Readme paths and icon fix (#53)
Changes the links in the README to be relative so it should work on any mirrors.
Also converts the uncompressed bmp icon to a compressed png one (this improves loading times, especially over tor).

You could also use the svg for an even smaller file, but that seems to be missing the black rings that are part of the logo.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/53
Co-authored-by: echosys <echosys@noreply.localhost>
Co-committed-by: echosys <echosys@noreply.localhost>
2024-09-01 01:49:31 +00:00
echosys
e157415bd9 Update Android app dependencies (#52)
Update the dependencies of the Android app (used libraries and SDK). The Android SDK was not updated to the latest version, because then the build fails.

The `gradle-wrapper.jar` (the only binary blob touched in this PR) can be verified by checking against the official checksums [here](gradle-wrapper.jar).

Co-authored-by: spectranator <spectranator@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion>
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/52
Co-authored-by: echosys <echosys@noreply.localhost>
Co-committed-by: echosys <echosys@noreply.localhost>
2024-08-24 16:53:35 +00:00
spectranator
8eea774401 Updated notes regarding mirror repository 2024-08-24 15:11:46 +02:00
spectranator
3785f2a2c8 Added reverts.txt for list of commits to revert to get specific features back in the future (#30)
Your opinion? Any commits I should add?

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/30
2024-08-24 11:35:37 +00:00
echosys
587825f60a Fix x86_64 build for Android (#49)
Fixes x86_64 builds for Android by stubbing a function that calls into libadrenotools to query GPU driver information. libadrenotools is only available for arm64.
The function should not be called anyways, as the menu that would display the information is disabled on unsupported devices.

To enable x86_64 for building change the line `abiFilters += listOf("arm64-v8a")` in `src/android/app/build.gradle.kts` to `abiFilters += listOf("arm64-v8a", "x86_64")`.
I did not do this by default as it significantly increases the build time (the native part needs to be build once for each architecture) and increases the app size (this is less of a concern as games are already significantly larger).
It might allow usage on Chromebooks (the internet tells me those run on x86_64) and some few Android devices. The main advantage I see is for development of the app itself, as it allows running it in waydroid for local testing.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/49
Co-authored-by: echosys <echosys@noreply.localhost>
Co-committed-by: echosys <echosys@noreply.localhost>
2024-08-11 12:11:13 +00:00
anon
0719273fed Reorder configuration tabs (#32)
Co-authored-by: spectranator <spectranator@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion>
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/32
Co-authored-by: anon <anon@noreply.localhost>
Co-committed-by: anon <anon@noreply.localhost>
2024-08-10 13:28:05 +00:00
rancidtowpath
60a8bf844f Update build-for-windows.md (#45)
Updated and added some images. Added additional info about required MSVC components for Cmake configuration and where to find Torzu executable after build completed.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/45
Co-authored-by: rancidtowpath <rancidtowpath@noreply.localhost>
Co-committed-by: rancidtowpath <rancidtowpath@noreply.localhost>
2024-08-10 12:54:53 +00:00
echosys
cd40133aa4 Be more explicit on struct init (#46)
Older versions of gcc (gcc-11 which is used in the build guide) seem to struggle with these two struct initializations (if I understand this correctly it is using "designated initialization" which is new in C++20) leading to compile errors (see #42).
This replaces those two initializations with a more explicit one that also compiles on gcc-11.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/46
Co-authored-by: echosys <echosys@noreply.localhost>
Co-committed-by: echosys <echosys@noreply.localhost>
2024-08-10 12:53:04 +00:00
rancidtowpath
1b51d49e16 Update build-for-windows.md (#39)
Added Python as minimal dependency for first building method.
By following building steps without Python installed, I got same error as mentioned in #36.
After Python installed, issue was gone and Cmake config and generate was successful.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/39
Co-authored-by: rancidtowpath <rancidtowpath@noreply.localhost>
Co-committed-by: rancidtowpath <rancidtowpath@noreply.localhost>
2024-07-31 10:35:13 +00:00
anon
c8997e4ab5 Remove elements for removed buttons in web config (#31)
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/31
Co-authored-by: anon <anon@noreply.localhost>
Co-committed-by: anon <anon@noreply.localhost>
2024-07-26 22:15:01 +00:00
spectranator
456612d272 Update documentation for Android 2024-07-26 18:21:41 +02:00
anon
f38060714a Better text spacing in about dialog (partial #22) 2024-07-26 17:51:02 +02:00
spectranator
c92b9f9024 Automatically generate token (#22/#28)
Co-authored-by: anon <anon@noreply.localhost>
Co-authored-by: spectranator <spectranator@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion>
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/22
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/28
2024-07-26 17:40:08 +02:00
anon
a1c2940b31 option to skip compiling the -cmd executable (#26)
There's already a `-DYUZU_ROOM` flag that can be set to OFF to skip compiling that executable.

This adds a `-DYUZU_CMD` flag that is ON by default, but can be set to OFF to also skip compiling the yuzu-cmd executable.

Setting both to OFF saves **_a lot_** of compiling time if you don't ever use either the yuzu-room or yuzu-cmd exes.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/26
Co-authored-by: anon <anon@noreply.localhost>
Co-committed-by: anon <anon@noreply.localhost>
2024-07-24 23:24:18 +00:00
echosys
a41955cc58 Remove early access Android app variant (#27)
Removes the early access Android app variant from the build config and removes the get early access button from the settings tab.

I also tried to remove the code for the variant (different logo + colors) and the code for the button, but I am no Android developer so I might have missed some stuff.
Additionally I did not touch the translation files.

Essentially this gets rid of the now useless fancy button and improves build times as it only needs to build one apk now.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/27

Spec's note:
Whatever there's left can still be removed at a later point.
Co-authored-by: echosys <echosys@noreply.localhost>
Co-committed-by: echosys <echosys@noreply.localhost>
2024-07-24 23:05:03 +00:00
anon
ede46f9bd2 correct URLs for build guides (#21)
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/21
Co-authored-by: anon <anon@noreply.localhost>
Co-committed-by: anon <anon@noreply.localhost>
2024-07-20 20:34:08 +00:00
spectranator
f615bac08e FAQ: Mention Reddit issues 2024-07-19 19:48:00 +00:00
spectranator
00ac6ff600 FAQ: Added notes about Android builds and mention the work of contributors in general (not just me) 2024-07-19 19:40:39 +00:00
anon
b5e4a009b4 add build guides (#16)
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/16
Co-authored-by: anon <anon@noreply.localhost>
Co-committed-by: anon <anon@noreply.localhost>
2024-07-19 19:22:35 +00:00
anon
8935e96db9 re-enable translations for GUI (#11)
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/11
Co-authored-by: anon <anon@noreply.localhost>
Co-committed-by: anon <anon@noreply.localhost>
2024-07-19 19:17:42 +00:00
echosys
7e27e6476d 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-07-19 19:14:19 +00:00
spectranator
224ec03070 Added note about fake websites to README 2024-07-11 22:26:03 +00:00
anon
32b2991a53 Update README.md for logo location (#8)
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/8
Co-authored-by: anon <anon@noreply.localhost>
Co-committed-by: anon <anon@noreply.localhost>
2024-07-11 22:15:04 +00:00
spectranator
238c5e33dd Updated README for new mirror repository 2024-07-11 23:44:48 +02:00
spectranator
e3ea6f2059 Revert "Added abgr8 srgb to d24s8 conversion shader"
This reverts commit e8f43b7078.
2024-07-06 22:39:54 +02:00
mateomaui
93c9c33b9f revert changes introduced in EA3835 to audio sink auto-select, fixing stuttering in Diablo 3, etc (#3)
Reverts most of this commit (but not all, some parts are still needed, or were reverted already in later EAs): 39c8ddcda2 or 39c8ddcda2

Above commit to the audio sink was first included in EA-3835, changing the way an audio engine is auto-selected by lowest latency... but still doesn't work very well, often using cubeb when it should use SDL.

A side effect of this was that microstuttering was introduced in a few titles. In Diablo 3, the main player character appears to teleport forward a few steps, every couple of steps. It's a consistent, constant stutter when simply walking forward. Occurs for both SDL and cubeb, with cubeb noticeably worse.

3834 and 3833 didn't have this issue with SDL, and the commit above was the bulk of the changes for 3835. Reverting those changes back to the 3833 version has fixed the stutter (for me at least) in D3 as long as SDL is selected (cubeb still stutters). The only observed negative is the audio engine may need to be manually selected in global settings instead of using auto.

Also seems to have fixed intermittent microstutters in TOTK and RDR. Unaware of other titles this may fix, or possibly create a problem for (though creating issues probably is not likely.)
2024-07-06 20:38:09 +00:00
Jarrod Norwell
e8f43b7078 Added abgr8 srgb to d24s8 conversion shader 2024-07-06 20:38:09 +00:00
spectranator
fb0ec55198 Note added to README about DEFINITELY incoming DMCA takedown 2024-07-06 22:31:49 +02:00
spectranator
a9f6342ea4 Added ILibraryAppletSelfAccessor::UnpopInData stub 2024-06-30 17:55:17 +02:00
spectranator
b1895cf7ae Changed some outdated statements in README 2024-06-30 17:41:41 +02:00
Reg Tiangha
c432641245 MacOS: Fix Debugger namespace naming confilct 2024-06-30 15:18:24 +00:00
Reg Tiangha
ccd735ec8a hardware_composer.cpp: Add missing includes 2024-06-30 15:18:24 +00:00