Uses Module_id plus offset for cache key, Module_id is unique to each module. Also passes the module_id everytime new patcher is created in case the module is too big.
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: #195
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: wildcard <nubieluv@gmail.com>
Co-committed-by: wildcard <nubieluv@gmail.com>
Previously, the merging strategy is permissive but the lookup strategy is strict. Together they create a infinite merge loop because lookup always fails and merges are always executed.
The last attempt to fix this issue made the lookup strategy more permissive which created unexpected aliased textures.
This commit implements an alternative: make the merging strategy strict.
Reviewed-on: #196
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-authored-by: weakboson <weakboson@quantum-field.net>
Co-committed-by: weakboson <weakboson@quantum-field.net>
Transfers the majority of submodules and large externals to CPM, using source archives rather than full Git clones. Not only does this save massive amounts of clone and configure time, but dependencies are grabbed on-demand rather than being required by default. Additionally, CPM will (generally) automatically search for system dependencies, though certain dependencies have options to control this.
Testing shows gains ranging from 5x to 10x in terms of overall clone/configure time.
Reviewed-on: #143
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Revert fix inversion of toggle for early fences (#175)
This should fix performance regressions in games that didn't need this and fix it to work with the games it is intended to be used for.
// Commit reverted there's some issues with the logic of "release early fences", it's going to be solved in a later commit.
Made based on recommendations by Discord Contributor.
Signed-off-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com>
Reviewed-on: #175
Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-committed-by: Shinmegumi <shinmegumi@eden-emu.dev>
PabloMK7: Changes the Vec4 dot operation to use NEON intrinsics on ARM devices.
This function is used every time a triangle is added to the rendered, so it can be considered hot code. The other vector operations are not used as much, so there is no gain to provide NEON operations for them.
The improvements from this change are most likely minimal.
Co-authored-by: PabloMK7 <hackyglitch2@gmail.com>
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com>
Reviewed-on: #177
Co-authored-by: Gamer64 <gamer64@eden-emu.dev>
Co-committed-by: Gamer64 <gamer64@eden-emu.dev>
This should fix performance regressions in games that didn't need this and fix it to work with the games it is intended to be used for.
Made based on recommendations by Discord Contributor.
Signed-off-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com>
Reviewed-on: #175
Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-committed-by: Shinmegumi <shinmegumi@eden-emu.dev>
When looking for existing images, ImageBase::TryFindBase checks the depth of the existing image to be greater than the layer of the base + depth of the candidate.
However the depth of images are not updated when cache were merged causing the lookup to fail.
This commit disables this faulty check to fix a critical memory leak that crashes the emulator in some games.
Reviewed-on: #164
Co-authored-by: weakboson <weakboson@quantum-field.net>
Co-committed-by: weakboson <weakboson@quantum-field.net>
My test case is this file, after line 27 is not marked as patch because it's after `@` tag but rest is patch lines including comments. <2ac3ff239f/1.0.0.pchtxt (L31)>
Reviewed-on: #156
Co-authored-by: notenergydrinks <notenergydrinks@eden-emu.dev>
Co-committed-by: notenergydrinks <notenergydrinks@eden-emu.dev>
This is for testing some bugs, the return acually shouldn't happen and misses the rest of ConfigureImpl
Reviewed-on: #151
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Co-committed-by: Maufeat <sahyno1996@gmail.com>
Should fix Jackbox 7,8,9,10 unable to connect to server errors. (See discord issues)
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: #142
Co-authored-by: Maufeat <maufeat@eden-emu.dev>
Co-committed-by: Maufeat <maufeat@eden-emu.dev>
This updates some submodules to keep the project in sync with the latest, stable fixes.
Reviewed-on: #119
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
Provided by community member, elementary-particle. Submitted as PR by MaranBR.
Fixed issues:
1. The queue cache forgot to put the host query into unregister queue if they weren't synced. This will block all the banks from freeing causing a major leak.
2. SamplesQueryCounter is not aligned with renderpass begin/end. This creates invalid queries.
3. Conditional rendering is not turned on/off at the correct location making them invalid.
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: #131
Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-committed-by: Shinmegumi <shinmegumi@eden-emu.dev>
For now this is for testing purposes
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com>
Reviewed-on: #118
Co-authored-by: Gamer64 <gamer64@eden-emu.dev>
Co-committed-by: Gamer64 <gamer64@eden-emu.dev>