mirror of
https://github.com/jkdansereau/goldeneye-pc-port.git
synced 2026-10-24 00:02:45 +02:00
D344: orderly quit so exit never lands inside the GL driver; GE_QUITFRAME
Quit (quit event, window close, Alt+F4, from either SDL pump) used to exit(0) immediately while the render thread could be mid-frame in the driver: the likely trigger of the host's 0x119 bugchecks. Now quits are requested; the render thread glFinish()es, unbinds the context and parks at a frame boundary, and the host exits after (max 2 s). GE_QUITFRAME=<n> gives the harness a clean self-quit; golden_gate.sh uses it.
This commit is contained in:
1 parent
c07af11fae
commit
461ea871c2
5 files changed
+123
-11
No files matched your search
@@ -67,8 +67,12 @@ printf '[Window]\nWidth = 640\nHeight = 480\n' > "$INI"
|
||||
|
||||
# --- run ---------------------------------------------------------------------
|
||||
rm -rf ppm
|
||||
PATH="/c/msys64/mingw64/bin:$PATH" GE_PCDUMP="$DUMP" \
|
||||
timeout 90 ./build-pc/ge007.x86_64.exe "-level_$LEVEL" > "$LOG" 2>&1
|
||||
# D344: quit cleanly 30 frames after the last capture (GE_QUITFRAME) instead
|
||||
# of being killed by `timeout`; killing the game mid-frame is the likely
|
||||
# trigger of the host's 0x119 bugchecks. timeout stays as a backstop only.
|
||||
DUMP_HI=${DUMP#*-}; DUMP_HI=${DUMP_HI%%:*}
|
||||
PATH="/c/msys64/mingw64/bin:$PATH" GE_PCDUMP="$DUMP" GE_QUITFRAME=$((DUMP_HI + 30)) \
|
||||
timeout 120 ./build-pc/ge007.x86_64.exe "-level_$LEVEL" > "$LOG" 2>&1
|
||||
|
||||
if [ "$GOLDEN" = 1 ]; then
|
||||
python tools_pc/framediff.py ppm > "$FRAMEDIFF_OUT" 2>&1
|
||||
|
||||
Reference in new issue
Block a user