Reword the permanent client-window refusal text and drop the stale P12 tag.

This commit is contained in:
2026-10-09 14:23:32 -04:00
parent 9f61016776
commit 4e055e4686
15 changed files with 44 additions and 37 deletions
@@ -176,10 +176,10 @@ Java_top_mobilegl_plugin_trace_TraceReplayActivity_nativeRunTraceReplay(JNIEnv*
// (apitrace_glws_android.cpp's createSurface), so handing Magma a window was the same as
// asking for one.
//
// P6 needs the pbuffer path on BOTH backends. Until P12 a spawned server cannot be given a
// window at all - an ANativeWindow* is a pointer into the CLIENT's process, and
// P6 needs the pbuffer path on BOTH backends. A spawned server cannot be given the client's
// window - an ANativeWindow* is a pointer into the CLIENT's process, and
// SetWindowHandle is refused on the way across with Fatal{UnmigratedSurface,
// "AndroidNativeWindow@P12"} (Rule H). Measured: the DirectVulkan spawn arm died on exactly
// "AndroidNativeWindow:use-MOBILEGL_IPC_SURFACE=server"} (Rule H, permanent; a windowed client uses MOBILEGL_IPC_SURFACE=server). Measured: the DirectVulkan spawn arm died on exactly
// that, one op after the server had come up green, while DirectGLES with the same flag passed.
//
// Every existing caller is unaffected: nobody asks for a Vulkan pbuffer today, and
+3 -2
View File
@@ -451,9 +451,10 @@ run_retrace() {
fi
# PBUFFER IS A SURFACE SHAPE, NOT A BACKEND PROPERTY, and the DirectGLES condition that used to
# guard this line made it one. It was harmless while the only caller was the ANGLE lane; P6 needs
# it on BOTH backends, because until P12 the spawn arm can only use pbuffer/surfaceless - an
# it on BOTH backends, because the spawn arm can only use pbuffer/surfaceless (a windowed client
# uses MOBILEGL_IPC_SURFACE=server) - an
# ANativeWindow* is a pointer into the CLIENT's process and SetWindowHandle is refused by name
# with Fatal{UnmigratedSurface, "AndroidNativeWindow@P12"} on the way across. Magma creates an
# with Fatal{UnmigratedSurface, "AndroidNativeWindow:use-MOBILEGL_IPC_SURFACE=server"} on the way across. Magma creates an
# EGL pbuffer exactly as Espryt does.
if [ "${use_pbuffer}" -eq 1 ]; then
set -- "$@" --ez use_pbuffer true