Since we're hashing at the block level, a different TBW that causes a
different-looking texture should cause different blocks to get hashed,
and thus, a different hash.
- Don't include TCC in the hashed TEX0 bits.
- Hash the region size, not rectangle.
Significantly reduces hash cache size in Ace Combat 5, over the course
of 30 frames from 1,000+ textures down to 400.
NOTE: This will change texture replacement hashes. Any "old" region
textures will transparently be converted to the new internal name format
upon loading.
We don't actually need +1 semaphores, or, more than one really.
But, the validation layer gets cranky if we don't fence wait before the next image acquire.
So, add an additional semaphore to ensure that we're never acquiring before fence waiting.
Adds memory search comparisons for Increased, Increased By, Decreased, Decreased By, Changed, Not Changed, Changed By.
For arrays, adds not equals, changed, not changed for filter searches.
Now only shows the comparison types that are currently valid for the given search type and if there's prior search results.
Also refactors to allow holding the prior set of search results rather than just the addresses, needed for these search comparisons to work.
Also adds a ui label to show that the debugger is searching after clicking the search button which then gets replaced with the results count when the search completes.
We manually clear the drawn region when it's needed, in all other cases
it's pre-filled with the setup.
Therefore, the two load actions should be preserve and don't care.
The debugger now refreshes/updates it's widgets once a second so that the user does not need to interact with the debugger to know when data/state changes.
* ci: Switch Flatpak build to flathub-infra/flatpak-github-actions
Flathub team has recently forked flatpak-github-actions and merged
various PRs submitted to the original repo. However, it's not versioned
(yet?), so pin the latest commit instead.
Additionally, enable validation of the build using flatpak-builder-lint,
and run all steps in the container with the runtime and required tooling
baked in.
* Update mirror-screenshots-url
* Shush git complaining about "dubious" ownership
* Update date format to iso8601
* Fix flatpak-builder-lint invocations
The debugger was crashing on open if no game was running due to failing to read from the CPU while the cpu was not alive.
The opcode was read before checking if it should be shown, so I have moved it to only read if the showOpcode boolean is true, and set it to not show opcodes of the cpu is not alive.
Moves the Memory Search fucntionality to it's own widget so as to not pollute the CpuWidget with search related functionality, especially as it is intended to grow in scope. CpuWidget is fairly general and as such everything tends to get tossed together which makes it harder to navigate/understand/maintain.