summaryrefslogtreecommitdiff
path: root/src/core/arm/dynarmic
AgeCommit message (Collapse)Author
2025-02-16build: upgrade fmt and SDL2Zephyron
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.8.0 - Update vcpkg baseline to c82f74667287d3dc386bce81e44964370c91a289
2025-01-18arm/video: Fix shader extension and exception handlingZephyron
Two main changes in this commit: 1. Replace NVIDIA-specific GL_NV_gpu_shader5 extension with the more widely supported GL_EXT_shader_explicit_arithmetic_types_float16 in the scaleforce shader. This improves compatibility across different GPU vendors. 2. Refactor ARM32 exception handling: - Restructure exception cases for better readability - Update exception handling to match current Dynarmic API - Fix indentation in switch statement - Remove AccessViolation case as it's no longer supported in current API These changes improve shader compatibility and align the exception handling with the current Dynarmic implementation.
2025-01-18memory: Improve null pointer and unmapped memory handlingZephyron
- 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-01-14Revert incorrect copyright attribution for non-contributed filesZephyron
- In commit b3facaa6bb30cdc39f2b7d632fef1e3bfeee7785, the copyright header was updated to include "Citron Homebrew Project" across multiple files, regardless of whether any contributions were made. - This commit removes the incorrect attribution and reverts the copyright header to its previous state. - Copyright attribution should only be added when meaningful contributions have been made to the file. - This commit ensures proper compliance with copyright standards and maintains correct attribution to the respective contributors. - Special thanks to Tachi for pointing out the need for these corrections and ensuring that proper attribution practices are followed.
2024-12-31core: Update copyright headersZephyron
- Update copyright headers to include Citron Homebrew Project - Add 2025 to copyright years
2024-12-31chore: update project references and add Citron copyrightZephyron
- Replaced all references to the old project name with Citron. - Added Citron copyright information alongside existing notices in all files.
2023-12-25core: track separate heap allocation for linuxLiam
2023-12-22kernel: instantiate memory separately for each guest processLiam
2023-12-04arm: fix context save of vector regsLiam
2023-12-04core: refactor emulated cpu core activationLiam
2023-08-02Merge pull request #10839 from lat9nq/pgc-plusliamwhite
general: Reimplement per-game configurations
2023-07-21core: remove remaining uses of dynamic_castLiam
2023-07-21settings,general: Rename non-confirming enumslat9nq
2023-06-27arm_dynarmic_32: Remove disabling of block linking on arm64Merry
2023-06-12core: decouple ARM interface from DynarmicLiam
2023-04-01core: arm_dynarmic_32: Update SaveContext/LoadContext.bunnei
2023-03-23memory: rename global memory references to application memoryLiam
2023-03-22kernel: use KTypedAddress for addressesLiam
2023-01-05externals: update dynarmic, xbyakLiam
2022-12-02core: add option to break on unmapped accessLiam
2022-11-17Dynarmic: Remove inaccurate NaN from Auto CPU settings.Fernando Sahmkow
2022-11-09Initial ARM64 supportLiam
2022-10-27arm_interface: curb infinite recursion in stacktrace generationLiam
2022-10-11k_server_session: preliminary support for userspace server sessionsLiam
2022-08-19code: dodge PAGE_SIZE #defineKyle Kienapfel
Some header files, specifically for OSX and Musl libc define PAGE_SIZE to be a number This is great except in yuzu we're using PAGE_SIZE as a variable Specific example `static constexpr u64 PAGE_SIZE = u64(1) << PAGE_BITS;` PAGE_SIZE PAGE_BITS PAGE_MASK are all similar variables. Simply deleted the underscores, and then added YUZU_ prefix Might be worth noting that there are multiple uses in different classes/namespaces This list may not be exhaustive Core::Memory 12 bits (4096) QueryCacheBase 12 bits ShaderCache 14 bits (16384) TextureCache 20 bits (1048576, or 1MB) Fixes #8779
2022-08-12Merge pull request #8745 from merryhime/null-fastmem-arenaliamwhite
arm_dynarmic: Fix nullptr fastmem arenas
2022-08-09Merge pull request #8729 from merryhime/cp15-barriersbunnei
arm_dynarmic_cp15: Implement CP15DMB/CP15DSB/CP15ISB
2022-08-09arm_dynarmic: Fix nullptr fastmem arenasMerry
Unable to enable fastmem of exclusive access without a valid fastmem arena.
2022-08-07core/arm: fix build errorLiam
2022-08-07Merge pull request #8637 from liamwhite/bad-interruptsbunnei
kernel: unlayer CPU interrupt handling
2022-08-07Merge pull request #8240 from liamwhite/count-cyclesMorph
core/arm: re-enable cycle counting
2022-08-07arm_dynarmic_cp15: Implement CP15DMB/CP15DSB/CP15ISBMerry
2022-07-27chore: make yuzu REUSE compliantAndrea Pappacoda
[REUSE] is a specification that aims at making file copyright information consistent, so that it can be both human and machine readable. It basically requires that all files have a header containing copyright and licensing information. When this isn't possible, like when dealing with binary assets, generated files or embedded third-party dependencies, it is permitted to insert copyright information in the `.reuse/dep5` file. Oh, and it also requires that all the licenses used in the project are present in the `LICENSES` folder, that's why the diff is so huge. This can be done automatically with `reuse download --all`. The `reuse` tool also contains a handy subcommand that analyzes the project and tells whether or not the project is (still) compliant, `reuse lint`. Following REUSE has a few advantages over the current approach: - Copyright information is easy to access for users / downstream - Files like `dist/license.md` do not need to exist anymore, as `.reuse/dep5` is used instead - `reuse lint` makes it easy to ensure that copyright information of files like binary assets / images is always accurate and up to date To add copyright information of files that didn't have it I looked up who committed what and when, for each file. As yuzu contributors do not have to sign a CLA or similar I couldn't assume that copyright ownership was of the "yuzu Emulator Project", so I used the name and/or email of the commit author instead. [REUSE]: https://reuse.software Follow-up to 01cf05bc75b1e47beb08937439f3ed9339e7b254
2022-07-25kernel: unlayer CPU interrupt handlingLiam
2022-07-17Merge pull request #8569 from merryhime/watchpointsmerry
dynarmic: Abort watchpoints ASAP
2022-07-15core/arm: skip watchpoint checks when reading instructionsLiam
2022-07-15dynarmic: Abort watchpoints ASAPMerry
2022-07-07Merge pull request #8501 from liamwhite/backtrace-againMai
core/arm: better support for backtrace generation
2022-06-25core/arm: better support for backtrace generationLiam
2022-06-21core/arm: increase minimum_run_cyclesLiam
2022-06-21core/arm: re-enable cycle countingmerry
2022-06-21dynarmic: Stop ReadCode callbacks to unmapped addressesLiam
2022-06-16core/debugger: memory breakpoint supportLiam
2022-06-01core/debugger: Improved stepping mechanism and misc fixesLiam
2022-06-01core/debugger: Implement new GDB stub debuggerLiam
2022-05-14general: Avoid ambiguous format_to compilation errorsLioncash
Ensures that we're using the fmt version of format_to. These are also the only three outliers. All of the other formatters we have are properly qualified.
2022-04-24Remove unused PrepareReschedule functionMerry
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-20core/arm: separate backtrace collectionLiam
2022-04-16Merge pull request #8188 from merryhime/jit-race-page-table-changedbunnei
dynarmic: Fix race when switching page tables