Commit Graph

635 Commits

Author SHA1 Message Date
Mike Lothian
1f01785721 vcpkg: Bump vcpkg to 2025.08.27 and fmt to 11.2.0 2025-09-02 14:47:59 +01:00
MaranBr
37e9208842 Update FFmpeg to 7.1.1, libvpx to 1.13.1 and libx264 to c24e06c on Android (#187)
This updates FFmpeg to 7.1.1, libvpx to 1.13.1 and libx264 to c24e06c on Android.

Co-authored-by: MaranBr <maranbr@outlook.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/187
Reviewed-by: crueter <crueter@noreply.localhost>
Co-authored-by: MaranBr <maranbr@noreply.localhost>
Co-committed-by: MaranBr <maranbr@noreply.localhost>
2025-06-15 02:41:49 +01:00
Zephyron
f827298648 externals: Update Vulkan-related submodules to latest versions
- vcpkg: 96d5fb3 → 5a874b0
- Vulkan-Headers: 80207f9 → e2e53a7
- Vulkan-Utility-Libraries: 524f891 → 4e246c5
- VulkanMemoryAllocator: 2f382df → 539c0a8

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-12 12:46:19 +01:00
Zephyron
75a596a5f9 Update submodules: SDL, vcpkg, and Vulkan-Headers
- Update SDL to fix pipewire-related compile error
  - Removes need to hardcode -DSDL_PIPEWIRE=OFF in toolchain
- Update vcpkg to latest version
- Update Vulkan-Headers to latest version

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-12 12:46:19 +01:00
Zephyron
e309365f39 externals: Update Vulkan dependencies to latest versions
Update Vulkan-Headers, Vulkan-Utility-Libraries, VulkanMemoryAllocator, and vcpkg submodules to their latest versions to ensure compatibility with newer Vulkan features and improve rendering performance.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-12 12:46:19 +01:00
Zephyron
79c7213e9f memory: Implement enhanced memory management system
Add a flexible memory region management system that provides:
- Memory region type classification (System, Graphics, IO, Binary)
- Memory region permission management (executable, writable)
- Binary base address randomization for ASLR
- Dynamic memory mapping capabilities

Credit: boss.smc@citron-emu.org
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-12 12:46:19 +01:00
Zephyron
898ef9d511 Update Vulkan-related dependencies and vcpkg
- Update Vulkan-Headers from cacef303 to 78c35974
- Update VulkanMemoryAllocator from c788c521 to 29b35ea4
- Update vcpkg from e40d24cb to a7d06b3a

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-12 12:46:19 +01:00
Zephyron
26f0251b93 Update external dependencies
- Update Vulkan-Utility-Libraries submodule to 5f41f2a
- Update vcpkg submodule to efb1e74
2025-05-12 12:46:19 +01:00
Zephyron
a164adfad6 Update external dependencies
- Vulkan-Utility-Libraries: 6be00ca → 2d8f273
- FFmpeg: d161604 → 99e2af4
- vcpkg: 9a7a33f → 23b33f5
2025-05-12 12:46:19 +01:00
Zephyron
2eedcf1bf7 externals: Update submodule versions
- vcpkg: 37d46ed → 9a7a33f
- Vulkan-Headers: 234c4b7 → 952f776
- Vulkan-Utility-Libraries: fe7a09b → 6be00ca
- ffmpeg: 9c1294e → d161604
2025-05-12 12:46:19 +01:00
Zephyron
0b55a120e8 Updated submodule discord-rpc to commit 20cc99aeffa08a4834f156b6ab49ed68618cf94a 2025-05-12 12:46:19 +01:00
Zephyron
fbe41afca4 build: upgrade fmt and SDL2
Update fmt library to version 11.0.2 and make necessary adjustments:
- Replace fmt/format.h includes with fmt/ranges.h
- Add const qualifiers to formatter::format functions
- Update CMake to require fmt version 11

Additional dependency updates:
- Update SDL2 bundled version from 2.28.2 to 2.32.0
- Update catch2 to version 3.7.1
- Update vcpkg baseline to ca846b21276c9a3171074ac8d2b4f6516894a7d0
2025-05-12 12:45:15 +01:00
Zephyron
403e1742e1 Update external dependencies
Updated the following submodules to their latest versions:
- vcpkg: 74ec888 → 33e9c99
- cpp-httplib: a609330 → 39a64fb
- cpp-jwt: 10ef573 → 4a970bc
- discord-rpc: 20cc99a → 2acd05a
- enet: 39a72ab → 657eaf9
- libusb: c060e9c → de38189
- oaknut: 9d09110 → 94c726c
- opus: 101a71e → 734aed0
- simpleini: 382ddbb → 6048871
2025-05-11 16:36:34 +01:00
Zephyron
a9b15107e1 build: update dependencies and relax version requirements
- Update Vulkan validation layers to 1.4.304.1
- Update Qt to 6.8.2
- Remove strict version requirements for various dependencies
- Update Vulkan-Headers, VulkanMemoryAllocator, and vcpkg submodules
- Reorganize discord-rpc compile options

This change makes the build system more flexible by removing unnecessary
version constraints while ensuring compatibility with newer versions of
key dependencies.
2025-05-11 14:54:45 +01:00
Zephyron
25de2e9e47 externals: Update Vulkan and related dependencies
Update the following external dependencies:
- Vulkan-Headers e43027a -> 39f924b
- Vulkan-Utility-Libraries 8ec8482 -> fe7a09b
- VulkanMemoryAllocator 7ab8483 -> 72c309a
- libadrenotools 5cd3f5c -> 8fae8ce
- vcpkg 2b8927f -> 2ded45c
2025-05-11 14:54:45 +01:00
Zephyron
b5371eb41a deps: Update Vulkan dependencies and remove fmt version constraint
- Update Vulkan-Headers to e43027a (1.4.306)
- Update Vulkan-Utility-Libraries to 8ec8482
- Update vcpkg to 2b8927f
- Remove version constraint for fmt package requirement
- Update VulkanHeaders version requirement to 1.4.306

This updates several external dependencies to their latest versions and
removes the specific version requirement for fmt while maintaining the
REQUIRED flag. The Vulkan-Headers version requirement is updated to match
the new submodule version.
2025-05-11 14:29:04 +01:00
Zephyron
221efc2294 memory: Improve null pointer and unmapped memory handling
- Update vcpkg baseline to a42af01b72c28a8e1d7b48107b33e4f286a55ef6
- Add SPIRV-Tools and SPIRV-Headers as submodules
- Update Vulkan-related submodules to latest stable versions
- Improve memory access error handling:
  - Add specific handling for null pointer accesses in ARM32 emulation
  - Return 0 for null pointer reads instead of undefined behavior
  - Silently ignore writes to null pointers
  - Add more detailed error messages distinguishing between null pointer
    access and other unmapped memory errors
  - Treat addresses below 0x1000 as potential null pointer accesses

These changes should provide more graceful handling of null pointer
accesses and improve stability when running games that attempt invalid
memory operations.
2025-05-11 12:17:03 +01:00
Zephyron
b3ff92116e fix: Implement SetGestureOutputRanges to handle unimplemented function error
- Added the SetGestureOutputRanges function to the IHidServer class to address the unimplemented function '92' error.
- This fix was discovered through log analysis, which showed a critical assertion failure in the HID service for an unknown function '92'.
- The log indicated a userspace panic and backtrace, pointing to the need for implementing this function to prevent execution breaks.
- Updated CMakeLists.txt to remove specific version requirements for several packages, enhancing flexibility.
- Updated subproject commit references for VulkanMemoryAllocator and vcpkg.

- REF: https://switchbrew.org/wiki/HID_services#ActivateGesture
2025-05-11 12:17:03 +01:00
Zephyron
8c4ab7cd0e submodules(vcpkg): Update To Latest Commit 2025-05-11 12:17:03 +01:00
Zephyron
47d0548557 vulkan: Update To 1.4.304 2025-05-11 12:17:03 +01:00
Mike Lothian
b9dbc79659 externals: Update dynarmic to 6.7.2 2025-05-11 12:17:03 +01:00
Mike Lothian
8c7ffef57d Update libadrenotools 2025-05-11 12:17:03 +01:00
lui
b76a6a79bc externals: update fmt to 11.0.2 and vcpkg to 2024.09.30 (#68)
Updated to fmt 11 with the required source changes for it to work.

Also updated vcpkg for this, and as an added benefit it fixes the `Unable to find a valid Visual Studio instance` error, and the VS 2019 build tools are no longer required. Just make sure to delete the existing downloaded vcpkg tool and binaries in `externals/vcpkg` if you have compiled before, or else it will continue to use the old version and give the error.

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/68
Co-authored-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion>
Co-committed-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion>
2024-12-20 15:24:58 +00:00
echosys
e9c2403b6e 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-12-20 15:24:58 +00:00
spectranator
bf1cfab4ed Updated ffmpeg submodule 2024-12-20 15:24:57 +00:00
spectranator
ad35d0d2b2 Updated Vulkan stuff for bug fixes and improved hardware compatibility (#21)
Fixes TOTK crashes on Steam Deck and potentially VRAM leak issues

Reviewed-on: http://y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion/torzu-emu/torzu/pulls/21
2024-12-20 15:24:57 +00:00
spectranator
43df1d4512 Moved fmt external out of dynarmic and updated fmt to 11.0.2 2024-12-20 15:24:57 +00:00
spectranator
e1d0c6680c Do not build SPIRV-Tools executables 2024-12-20 15:24:57 +00:00
Jarrod Norwell
ec78bac6ab Rewrote mm:u to follow switchbrew.org documentation 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
893ee2882f Improve SPIRV-Headers loading behavior 2024-12-20 15:24:57 +00:00
darktux
7c47e06939 Disable "Open Home Menu" action as appropriate 2024-12-20 15:24:57 +00:00
darktux
47c86b6cc8 Fixed configurarion without SIRIT_USE_SYSTEM_SPIRV_HEADERS set 2024-12-20 15:24:57 +00:00
niansa
9b4ef19ed9 Port changes from Early Access 2024-12-20 15:24:40 +00:00
cass_058
15ae646d4e Fix build 2024-12-20 15:14:22 +00:00
Mike Lothian
4c29b7604d externals: Update dynarmic to 6.7.1 2024-12-20 15:14:22 +00:00
liamwhite
564a65a82e
Merge pull request #12981 from lat9nq/tzdb-asan-custom
tzdb_to_nx: Update to latest
2024-02-10 22:42:47 -05:00
lat9nq
68b2db21b1 tzdb_to_nx: Update to latest
Includes memory leak fix.

Includes option to specify a custom zoneinfo dir.
2024-02-10 17:45:18 -05:00
Merry
211544fbc8 externals: Update dynarmic to 6.6.3 2024-02-10 19:40:47 +00:00
Alexandre Bouvier
73e7a259fd cmake: prefer system oaknut library 2024-01-30 02:57:50 +01:00
liamwhite
51f5a6f1f8
Merge pull request #12830 from merryhime/dynamic-dual_code_block
externals/dynarmic: Update to 6.6.1
2024-01-29 15:27:04 -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
liamwhite
278dd589ec
Merge pull request #12439 from FireBurn/vkresult
Simplify VkResult lookup
2024-01-29 09:08:32 -05:00
Merry
6cc82fd430 externals/dynarmic: Update to 6.6.1 2024-01-28 17:04:01 +00:00
Merry
2bc0132d0c externals/oaknut: Update to 2.0.1 2024-01-28 16:50:14 +00:00
K900
3065ab0fd8 nx_tzdb: add another safety assertion 2024-01-27 17:28:04 +03:00
K900
a2407a2964 nx_tzdb: check for unpacked directory
Otherwise things get funny if the archive is downloaded, but the unpacking was interrupted.
2024-01-27 17:25:52 +03: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
Kelebek1
e4915fb7d2 Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
Mike Lothian
f854ffd015 Add Vulkan-Utility-Libraries dependency 2024-01-22 01:30:44 +00:00