Skip to content

Conversation

@hrydgard
Copy link
Owner

@hrydgard hrydgard commented Dec 7, 2023

Fixes #9308

The 64x4 texture that the game updates every frame during the animation is "swizzled" for texture cache efficiency, which means it's stored in memory in Nx8 blocks. But the texture is only 4 pixels high, so the texture wastes 4 vertical pixels of space of each block, doubling the space requirements. We calculated the range of memory to hash as if it was linear, so effectively we only hashed the left half of the texture, leading to the freeze at the latter half of the movement!

(This might end up breaking a few tiny textures for texture replacement. Let's see if that's a problem).
Actually not the case, but added a comment.

@hrydgard hrydgard added the GE emulation Backend-independent GPU issues label Dec 7, 2023
@hrydgard hrydgard added this to the v1.17.0 milestone Dec 7, 2023
@hrydgard hrydgard changed the title Fix frozen pitch meters in MLB - we were not hashing enough texture data Fix frozen pitch meters in MLB series games - we were not hashing enough texture data Dec 7, 2023
@hrydgard hrydgard merged commit 8dab823 into master Dec 7, 2023
@hrydgard hrydgard deleted the mlb-fix branch December 7, 2023 11:12
@jayjun911
Copy link

confirmed that this fix also addressed a similar power-meter problem in Hot Shot Golf. Thank you! @hrydgard

@unknownbrackets
Copy link
Collaborator

Huh, surprising how long this went unnoticed... good catch.

-[Unknown]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

GE emulation Backend-independent GPU issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MLB Games 06-11 Pitching Meter Freezes

4 participants