aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/macro/macro_interpreter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [common, core] remove uneeded memory indirection overhead at startup (#3306)lizzie2026-01-161-362/+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-4/+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>
* Add break for default casesKyle Kienapfel2022-11-131-0/+2
| | | | | | | | | | | Visual Studio has an option to search all files in a solution, so I did a search in there for "default:" looking for any missing break statements. I've left out default statements that return something, and that throw something, even if via ThrowInvalidType. UNREACHABLE leads towards throw R_THROW macro leads towards a return
* video_coare: Reimplementing the maxwell drawing trigger mechanismFengChen2022-10-211-1/+1
|
* common: Change semantics of UNREACHABLE to unconditionally crashLiam2022-06-131-1/+0
|
* 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_interpreter: Move impl class to the cpp fileLioncash2022-01-251-8/+84
| | | | | Keeps the implementation hidden from the intended API and lessens the header dependencies on the interpreter's header.
* video_core: Remove unnecessary enum class casting in logging messagesLioncash2020-12-071-4/+3
| | | | | | | fmt now automatically prints the numeric value of an enum class member by default, so we don't need to use casts any more. Reduces the line noise a bit.
* video_core: Resolve more variable shadowing scenariosLioncash2020-12-041-10/+10
| | | | | | Resolves variable shadowing scenarios up to the end of the OpenGL code to make it nicer to review. The rest will be resolved in a following commit.
* macro-interpreter: Resolve -Wself-assign-field warningLioncash2020-08-141-1/+0
| | | | | | This was assigning the field to itself, which is a no-op. The size doesn't change between its initial assignment and this one, so this is a safe change to make.
* Macro HLE supportDavid Marcec2020-06-241-1/+2
|
* Mark parameters as constDavid Marcec2020-06-031-1/+1
|
* Implement macro JITDavid Marcec2020-05-301-0/+288