aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/macro/macro.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [common, core] remove uneeded memory indirection overhead at startup (#3306)lizzie2026-01-161-140/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for core stuff: just remove unique ptrs that dont need any pointer stability at all (afterall its an allocation within an allocation so yeah) for fibers: Main reasoning behind this is because virtualBuffer<> is stupidly fucking expensive and it also clutters my fstat view ALSO mmap is a syscall, syscalls are bad for performance or whatever ALSO std::vector<> is better suited for handling this kind of "fixed size thing where its like big but not THAT big" (512 KiB isn't going to kill your memory usage for each fiber...) for core.cpp stuff - inlines stuff into std::optional<> as opposed to std::unique_ptr<> (because yknow, we are making the Impl from an unique_ptr, allocating within an allocation is unnecessary) - reorganizes the structures a bit so padding doesnt screw us up (it's not perfect but eh saves a measly 44 bytes) - removes unused/dead code - uses std::vector<> instead of std::deque<> no perf impact expected, maybe some initialisation boost but very minimal impact nonethless lto gets rid of most calls anyways - the heavy issue is with shared_ptr and the cache coherency from the atomics... but i clumped them together because well, they kinda do not suffer from cache coherency - hopefully not a mistake this balloons the size of Impl to about 1.67 MB - which is fine because we throw it in the stack anyways REST OF INTERFACES: most of them ballooned in size as well, but overhead is ok since its an allocation within an alloc, no stack is used (when it comes to storing these i mean) Signed-off-by: lizzie lizzie@eden-emu.dev Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3306 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
* [meta] remove MicroProfile (#185)crueter2025-08-061-5/+3
| | | | | | Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/185 Reviewed-by: Lizzie <lizzie@eden-emu.dev>
* User Data Migration from Citron, Sudachi, and Yuzu (#91)swurl2025-05-081-1/+1
| | | | | | | | | | | | Includes citron, sudachi, yuzu currently broken, because the eden dir is always made early? Signed-off-by: swurl <swurl@swurl.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/91 Co-authored-by: swurl <swurl@swurl.xyz> Co-committed-by: swurl <swurl@swurl.xyz>
* Mark decompiled macros as decompiled on dump, dump shaders after translationKelebek12023-08-251-8/+16
|
* video_core/macro: Make use of Common::HashValueMorph2023-03-251-3/+3
|
* yuzu-ui: Add setting for disabling macro HLEFernando Sahmkow2023-01-041-4/+5
|
* Video_core: Address feedbackFernando Sahmkow2023-01-041-1/+1
|
* Revert Buffer cache changes and setup additional macros.Fernando Sahmkow2023-01-011-0/+5
|
* MacroHLE: Refactor MacroHLE system.Fernando Sahmkow2023-01-011-2/+5
|
* Initial ARM64 supportLiam2022-11-091-0/+3
|
* VideoCore: Add option to dump the macros.Fernando Sahmkow2022-10-061-0/+1
|
* common: Change semantics of UNREACHABLE to unconditionally crashLiam2022-06-131-1/+1
|
* video_core/macro: clear code on upload address assignmentLiam2022-05-101-0/+5
|
* VideoCore: Add option to dump the macros.Fernando Sahmkow2022-05-081-0/+27
| | | | Co-Authored-By: liamwhite <liamwhite@users.noreply.github.com>
* general: Convert source file copyright comments over to SPDXMorph2022-04-231-3/+2
| | | | | 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.
* video_core/macro: Add missing <cstring> headerLioncash2022-01-251-2/+3
| | | | Necessary since memcpy is used.
* video_core/macro_hle: Return unique_ptr directly from GetHLEProgram()Lioncash2022-01-251-3/+2
| | | | Same behavior, but less code and header dependencies.
* video_core/macro: Remove unused parameter from Execute()Lioncash2022-01-251-2/+1
| | | | Simplifies the function interface.
* common: Move settings to common from core.bunnei2021-04-141-1/+1
| | | | - Removes a dependency on core and input_common from common.
* General: Make use of std::nullopt where applicableLioncash2020-09-221-1/+1
| | | | | | | | Allows some implementations to avoid completely zeroing out the internal buffer of the optional, and instead only set the validity byte within the structure. This also makes it consistent how we return empty optionals.
* macro: Add support for "middle methods" on the code cache (#4112)David2020-06-301-8/+27
| | | Macro code is just uploaded sequentially from a starting address, however that does not mean the entry point for the macro is at that address. This PR adds preliminary support for executing macros in the middle of our cached code.
* Addressed issuesDavid Marcec2020-06-241-1/+1
|
* Macro HLE supportDavid Marcec2020-06-241-4/+31
|
* Mark parameters as constDavid Marcec2020-06-031-1/+1
|
* Pass by reference instead of copying parametersDavid Marcec2020-06-021-1/+1
|
* Implement macro JITDavid Marcec2020-05-301-0/+45