You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While starting to debug #686 I enabled some additional debug output (DEBUG_NV2A, DEBUG_NV2A_REG, DEBUG_NV2A_GL) and was surprised to see that the game started crashing before running the intro FMV.
Disabling the debug output allows the game to run correctly (it can get all the way into a level).
Adding a usleep to the NV2A_DPRINTF macro exacerbates the behavior and will make the game crash consistently on my machine before even getting to the initial splash screen. With this sleep I can also repro on Halo (I haven't tested any other games, but suspect that it'll affect everything).
For clarity:
# define NV2A_DPRINTF(format, ...) do { printf("nv2a: " format, ## __VA_ARGS__); usleep(100); } while (0)
This assert fails, causing a halt of the emulated guest.
I'm guessing that there's some synchronization missing between some of the emulator threads, but haven't dug into it at all.
Expected Behavior
I'd expect that slowing down functions that include nv2a printf's would just result in slower emulation overall and not lead to assertions.
xemu Version
Mostly the current master branch, with the patch to intentionally slow down NV2A_DPRINTF to make it 100% reproducible.
Version: 0.6.2-55-gcaf84884c4
Branch: master
Commit: caf8488
Date: Fri Jan 28 06:10:46 PM UTC 2022
Bug Description
While starting to debug #686 I enabled some additional debug output (
DEBUG_NV2A
,DEBUG_NV2A_REG
,DEBUG_NV2A_GL
) and was surprised to see that the game started crashing before running the intro FMV.Disabling the debug output allows the game to run correctly (it can get all the way into a level).
Adding a
usleep
to theNV2A_DPRINTF
macro exacerbates the behavior and will make the game crash consistently on my machine before even getting to the initial splash screen. With this sleep I can also repro on Halo (I haven't tested any other games, but suspect that it'll affect everything).For clarity:
This assert fails, causing a halt of the emulated guest.
I'm guessing that there's some synchronization missing between some of the emulator threads, but haven't dug into it at all.
Expected Behavior
I'd expect that slowing down functions that include nv2a printf's would just result in slower emulation overall and not lead to assertions.
xemu Version
Mostly the current master branch, with the patch to intentionally slow down
NV2A_DPRINTF
to make it 100% reproducible.Version: 0.6.2-55-gcaf84884c4
Branch: master
Commit: caf8488
Date: Fri Jan 28 06:10:46 PM UTC 2022
System Information
OS: Kubuntu 21.04 - 5.11.0-38-generic
CPU: Core i7-6700K @ 4GHz
GPU: NVIDIA GeForce GTX 1070
GPU Driver: 4.6.0 NVIDIA 470.74
Additional Context
No response
The text was updated successfully, but these errors were encountered: