mirror of
https://github.com/ARMSX2/ARMSX3.git
synced 2026-08-24 16:58:52 -07:00
Three fixes found while testing Assassin's Creed on a Turnip device. fp16 was off on every Turnip install regardless of driver age. The gate that re-enables it compares driverVersion against 512.676.53, which is QUALCOMM'S numbering; is_ADRENO() is true for Turnip as well, and Turnip reports Mesa's scheme -- 25.99.99 on an 8 Gen 2 -- which packs to a far smaller integer and can never pass. So the log said "All float16_t arithmetic will be emulated with float32_t" on the configuration these handhelds actually ship in. It should not have been gated for Turnip at all. The failure being worked around is Qualcomm's shader compiler rejecting SPIR-V with float16_t in it; Mesa's is a different compiler. The version check stays for the proprietary driver, where it was measured, and Turnip passes on its own account. The on-screen keyboard raised its bar without raising a keyboard. showSoftInput(SHOW_IMPLICIT) is a hint the system may decline, and it does for a fullscreen immersive window like the game surface -- but visible was set either way, so the extra-keys bar appeared over nothing. It now also drives the IME through WindowInsetsControllerCompat, which is the supported route once setDecorFitsSystemWindows(false) is in effect, and it already is. Both are used: the old call still works on odd IMEs and asking twice costs nothing. hide() mirrors it. Space and Enter join the bar as wide keys. They are on the IME too, but the IME is not reliably what comes up, and Space is the key that opens the debug menu this was built for -- it should not depend on another keyboard appearing. Enter was already there as a glyph and read as decoration; it says Enter now.