Skip to content

V0.5.1 fixes#5

Merged
axgdev merged 3 commits into
mainfrom
v0.5.1-fixes
May 27, 2026
Merged

V0.5.1 fixes#5
axgdev merged 3 commits into
mainfrom
v0.5.1-fixes

Conversation

@axgdev

@axgdev axgdev commented May 27, 2026

Copy link
Copy Markdown
Owner

Restore cheap framebuffer pan for cores
Trim libretro frontend hot paths
Prefer RGB565 core framebuffers

axgdev added 3 commits May 27, 2026 20:03
Remove the unconditional FBIO_WAITFORVSYNC from unifrog_fb_pan().

The libretro presenter does not request explicit vsync for its display modes, so the moved wait made every core frame block in framebuffer pan and charged that wait to active emulation time.

Keep explicit presenter vsync behavior by waiting in the presenter only when UNIFROG_PRESENT_VSYNC is set.
Cache polled input per emulation frame so input_state callbacks reuse local and per-port button masks instead of querying the input and wireless layers repeatedly.

Add a no-resample audio batch path for the common case where the core sample rate already matches the hardware output rate, and skip clipping branches for the default 1x gain mono mix.

These changes reduce frontend CPU overhead without changing libretro core sources.
Honor the libretro framebuffer_format run option when accepting core pixel formats.

RGB565 remains the default so cores are pushed away from XRGB8888 unless explicitly configured, reducing framebuffer writes, cache flush volume, and GE source bandwidth on the MIPS32r1 target.

Persist the framebuffer setting so XRGB8888 can still be enabled deliberately for compatibility testing.
@axgdev axgdev merged commit 7a4935b into main May 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant